バッテリー寿命でいくつかの GPS アルゴリズムをテストしています。core-location フレームワークを使用して非常に単純なアプリを作成したところ、アプリは gps の位置を毎秒更新します。
現在地を更新する時間間隔を 10 秒、1 分などに変更するにはどうすればよいですか?
そして、私のアプリがバックグラウンドにあるとき、GPS の更新を停止します。バックグラウンドで更新し続ける方法を知っていますか?
バッテリー寿命でいくつかの GPS アルゴリズムをテストしています。core-location フレームワークを使用して非常に単純なアプリを作成したところ、アプリは gps の位置を毎秒更新します。
現在地を更新する時間間隔を 10 秒、1 分などに変更するにはどうすればよいですか?
そして、私のアプリがバックグラウンドにあるとき、GPS の更新を停止します。バックグラウンドで更新し続ける方法を知っていますか?
通常、iOS ではほとんどの場合、バックグラウンド操作が許可されていないことに注意してください。ただし、場所を「永続的に」決定するには、少なくとも 3 つのオプションがあります。
時間間隔などを変更することはできません。これらの 3 つのオプションしかありません。必要なときに 1 回だけ位置情報を取得できますが、それは質問の意図ではありませんでした。
現在地を更新する時間間隔を 10 秒、1 分などに変更するにはどうすればよいですか?
GPS チップは、位置が 1 秒または 10 秒ごとに必要な場合と同じ電力を必要とするため、これは不可能であり、意味がありません。もちろん、ポジションが気に入らない場合は無視できます(頻繁に来る場合)。
の設定はdesiredAccuracy
パワーに影響します:
kCLLocationAccuracyBestForNavigation
: GPS と加速度センサーを有効にします : GPS を有効にします
kCLLocationAccuracyBest
が、加速度センサーは無効にします (必要に応じてセル タワーの位置を特定します)
kCLLocationAccuracyHundredMeters
, kCLLocationAccuracyKilometer
, kCLLocationAccuracyKilometer
: 利用可能な場合は、セル タワーまたは Wi-Fi の場所を使用する可能性が高くなります。
消費電力は少なくなりますが (可能性が高くなります)、精度は低くなります。
そして、私のアプリがバックグラウンドにあるとき、GPS の更新を停止します。バックグラウンドで更新し続ける方法を知っていますか?
Apple の LocationAwarnessGuide を読んで情報が見つかった場合は、Info.plist ファイルに正しいキーを設定する方法を教えてください。
iOS 6以降、より多くの電力を節約する追加のバリアントがあります: メソッドがあります: didUpdateLocations
(注: 複数!):
これにより、すべての場所が一度に配信されるため、アプリケーションをバックグラウンドで実行し続ける必要がなくなります。アプリがフォアグラウンドに入ると、一度にすべての位置を受け取ります。