ユーザーの GPS 位置情報を使用し、小さな計算を行い、データを Bluetooth Low Energy (4.0) ウォッチに送信するフィットネス (ランニング) 用の iOS (7.0+) アプリケーションを開発しています。このプロセスは、ユーザーが iOS デバイスをロックしている場合でも、バックグラウンドで実行する必要があります。
次のバックグラウンド モードも実装しました。
App communicates using CoreBluetooth
App registers for location updates
デバイスがロックされている一定の時間 (例: 2 時間) を除いて、すべてが正常に機能するようになりました。ただし、iOS デバイスは位置情報の更新を停止します。 GPS 値を Bluetooth ウォッチに送信します。次に、デバイスのロックを解除し、アプリを再度開くと、位置情報サービスが正常に機能するようになります。
一定時間後に位置情報の更新を突然停止することなく、位置情報サービスをバックグラウンド (デバイスをロック) で常に実行し続ける方法を知っている人はいますか? 可能であれば、GPS を使用する場合よりもバッテリーを消耗しすぎない効率的なソリューションが優先されます。