私はstartMonitoringSignificantLocationChangesを使用するアプリを持っています。iOSロケーションサービスは、タスクバーでの殺害の後でもアプリで使用されています
これがオンになっている場合は、右上の紫色の矢印が表示されます。
私はいくつかのテストを行っていますが、時折stopMonitoringSignificantLocationChangesを呼び出すことがあります。
この場合、Xcodeでアプリを終了しても、紫色の矢印が引き続き表示されます。私はSettings.app - > Location Servicesに行き、紫色の矢印が私のアプリの横にも点灯しているのを見て、それがまだそれを使用していることを意味する。 これは、Xcodeをデバイスに接続せずに実行していても、マルチタスキングバーからアプリを終了した後でも実行されます。
これはどのようにすることができますか?
アプリを強制終了しないと、大幅な位置変更の監視が停止するはずですか?
これは明らかに5.1で起こっています... 5.0ではテストされていません。
私の元の質問以来、私はもはやロケーションサービスバックグラウンド処理フラグを使用しないように書き直しました。使用しているときは[[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^(){}]; アプリは何かをするのに最大10分かかります。それは私が場所の更新について知る必要がある限りです。 しかし、私のexpirationHandlerが次の2行を持っていても、アプリはまだ止まらないことがあります。 [self.locationManager stopMonitoringSignificantLocationChanges]; [self.locationManager stopUpdatingLocation]; 他のアイデアはありますか? –