1

CoreLocation を使用してユーザーの位置を特定し、距離を計算して地図上にルートを表示しています。バッテリーの使用量を最小限に抑えるために、位置情報を取得した後に GPS をオフにし、1 分後に再びオンにしています。アプリケーションがアクティブな場合、すべて正常に動作しますが、バックグラウンドに送信して GPS をオフにした後、アプリはまったく非アクティブであるように見え、何も出力しません (を使用NSLog())。info.plistアプリケーションをバックグラウンドで実行できるように、ファイルにディレクティブを追加しました。バックグラウンドで GPS をオフにしないと、アプリはフォアグラウンドでも動作します。

私の質問は次のとおりです。アプリケーションが中断されないようにするために、バックグラウンドで GPS を常にオンにする必要がありますか、または別の回避策がありますか (GPS をオンにするとバッテリーが消耗するため)。

PS 私は iOS とモバイル開発にまったく慣れていないので、知っておくべきヒントがいくつかあるかもしれません。

4

1 に答える 1

1

http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.htmlを参照してください。

Apple は、長時間実行されるバックグラウンド タスクを一般的にサポートしていません。
これは特定のタスクでのみ機能します。

audio、location、voip、newsstand-content、external-accessory、bluetooth-central、および bluetooth-peripheral

それを使用しないと、アプリが中断される可能性があります。
あなたの場合、ypuは場所を指定しましたが、場所の更新を無効にしました。次に、Apple の場合、アプリをバックグラウンド モードにしておく理由はありません。

于 2012-12-02T20:43:16.040 に答える