2011-10-02 10 views
0

ユーザーが特定の場所にいつ近づくかを知る必要があります。 iPhone 4でiPhoneのコアの位置開始の監視重要な場所の変更

私はstartMonitoringForRegion:desiredAccuracy:を使用していますが、これは(私がサポートしたい)3GSでサポートされていないので、この場合には、私がstartMonitoringSignificantLocationChangesを使用するように強制しています。

私のニーズに完全に無関係であっても、重要な場所の変更ごとにデリゲートが呼び出されます(また、そうでない場合は、アプリがバックグラウンドで起動されます)。

私は、デリゲートの呼び出しが私のために適切であるかどうかを検出することは簡単ですが、私は別のことについて思ったんだけど:私は背景に打ち上げていた場合は、その後、私は、コールがない関連していることを検出し、すべきです私は静かにバックグラウンドで、または私は何とかアプリを中止し、次回までバックグラウンドから自分を削除する必要がありますか?

答えて

1

ロケーションアップデートで何もする必要がない場合は、メソッド呼び出しから戻り、バックグラウンドでアイドル状態を維持してください。アプリを中止しようとしないで、次に重要な場所の変更を取得したときにアプリの不必要な再読み込み(バッテリーを使用)が発生します。 OSは、メモリスペースが必要であると判断した場合、バックグラウンドアプリを終了します。

+0

ありがとうございました。ちなみに、私は、デリゲートがあらゆる重要な場所の変更を呼び出されたにもかかわらず、アプリケーション自体が前にいなかった場合は、バックグラウンドアプリのリストに表示されない(ホームボタンをダブルクリックする)ことが分かった。私はかなり驚きました。 –

0

私は、AppDelegateへのコールバックで、コールが必要でないと判断した場合は、ただ返します。出て行ってください。場所の変更に関するコールバックが呼び出されますが、監視を停止する場合を除き、場所の監視は続行されます。アプリケーションはフォアグラウンドに持ち込まれず、AppDelegate内部からのメソッド呼び出しだけになります。