|
3密チェッカーアプリをiOS端末でも使えるようにするため、現在Flutterでプログラムを書き直しています。 3密チェッカーについて:https://rabbitprogram.com/support/threec iOSではAndroidのようにバックグラウンドでの動作がうまくできず、解決方法が全くわからないため、この度パブリックなリポジトリでソースコードを公開することにしました。 オープンソースだからこそ、皆様のご意見を取り入れながら、チームで開発していきたいと思っています。 参考になりますよう、下にアプリの仕様や原状などを記載しています。 お気づきの点がございましたら、ぜひお気軽に Issue にお寄せください。 些細な助言でも構いません。 皆様のお力添えをお待ちしています🙇♂️ |
フォアグラウンド | バックグラウンド | タスクキル | |
Timer.periodic (※1) |
✅ | ? | |
background_locator (※2) |
✅ | ❌ |
※2:https://pub.dev/packages/background_locator
タスクを終了してしまうと、AndroidでいうServiceのように処理を続けることができないのが現状です。
バックグラウンドでは処理は呼ばれますが、Bluetoothを使用できず人数の測定ができません。
- バックグラウンドの状態でBluetoothを使うにはどうしたらいいか
→ios/Runner.xcodeprojファイルのバックグラウンド周りの設定がおかしい? - アプリを起動していない状態でどうやって測定したらいいか
Android Studioでリポジトリをクローンした後、まずはじめにpubspec.yamlを開いて「Pub get」ボタンを押してください。
または、次のコマンドを実行します:
flutter pub get
読み込み後、
アプリ起動後、設定→「3密チェッカー(テスト)」→位置情報を開き、「常に」を選択してください。
(バックグラウンドテストの際にはこの設定が必要です)
|
・ ・ ・ ・ ・ |
2種類の測定プログラムを搭載しています。
なお、バックグラウンドに移行した場合はBluetoothが使用できず人数は「0」を返します。
テストプログラムでは、アプリの開始ボタンを押下後、20m移動するとログを記録するようにしています。
記録されたログは [バックグラウンド測定履歴を確認] ボタンを押すと確認できます。
ここで公開しているFlutterバージョンは、現在はまだ開発途中の試作品です。
残存する不具合などの保証はありませんので、ご注意ください。