1

startMonitoringSignificantLocationChanges を使用するアプリがあります。

オンにすると右上の紫色の矢印が表示されます。

私はいくつかのテストを行っており、時々 stopMonitoringSignificantLocationChanges を呼び出すことがあります。

これが発生すると、Xcode でアプリを強制終了した後でも、紫色の矢印が表示されたままになります。Settings.app -> Location Services に移動すると、アプリの横にある紫色の矢印も点灯しており、アプリがまだ使用中であることを意味します。これは、Xcode をデバイスに接続せずに実行しているときや、マルチタスク バーからアプリを強制終了した後でも実行されます。

どうすればいいの?

アプリを強制終了すると、重要な場所の変更の監視が停止することはありませんか?

これは間違いなく 5.1 で発生しています... 5.0 ではテストしていません。

4

2 に答える 2

5

私もこの問題を抱えていましたが、場所の大幅な変更を監視していませんでした。これは、CLLocationManager を使用し、マップ ビューを Xcode の属性の下にユーザーの場所を表示するように設定したことが原因でした。通知[locationManager stopUpdating]すると、ロケーション マネージャーはメッセージの送信を停止しましたが、マップ ビューからのメッセージは受信し続けました。マップビューに終了するように伝えるまではありませんでした[mapView setShowUsersLocation:NO]。MapKit を使用しているかどうかは、最初の投稿からはわかりませんが、念のため、これを捨てようと思いました。

于 2012-05-05T01:41:11.253 に答える
3

stopMonitoringSignificationLocationChangesバックグラウンド/終了の前に電話したことは確かですか?

CLLocationManagerのドキュメントを見てみましょう - これはおそらくあなたにとって重要な部分です:

このサービスを開始した後でアプリケーションが終了した場合、新しいイベントが到着すると、システムは自動的にアプリケーションをバックグラウンドで再起動します。

終了したときにデータを処理する方法について、かなり具体的な詳細がいくつかあります(内部application:didFinishLaunchingWithOptions:)。

于 2012-04-30T05:05:34.573 に答える