アプリがマルチタスク バーから強制終了された場合でも、位置情報サービスが引き続きアプリで使用されているという問題が発生しています。中に入るSettings > Privacy > Location Services
と、バックグラウンドにアプリがない場合でも、アプリに紫色の位置アイコンがあることに気付きます。アプリの位置情報サービスをオフにすると、ステータス バーのアイコンが消えます。
アプリで、位置情報サービスが不要な場合は停止していることを確認しました。これはInstrumentsで何度も確認しました。GPS は必要なときにオンになり、位置情報サービスを使用してタスクが終了すると、GPS はオフになります。
私のapplicationWillTerminate:
デリゲートでは、lcoationManager
をnil
に設定し、デリゲートを に設定して、nil
すべてがクリーンアップされていることを確認します。アプリを強制終了しても、ステータスバーにアイコンが表示されます。
この特定のアプリには、アプリに特定のことをさせることができる Bluetooth アクセサリもあります。たとえば、BLE アクセサリのボタンを押すと、アプリが をトリガーする何かを実行するUILocalNotification
ため、バナーが表示されます。この特定の問題を再現する方法はわかりませんが、マルチタスク バーにアプリがなく、BLE アクセサリのボタンを押しても、アプリでアクションがトリガーされ、表示されることに気付きました。通知バナー。
いくつかの質問:
- 他の誰かがこのようなものを見たことがありますか?
- アプリケーションが終了したときに本当にきれいにクリーンアップしたとしても、アプリが完全に強制終了されるようにするにはどうすればよいですか?
- アプリが強制終了されたにもかかわらず、位置情報サービスがまだ実行されているのはなぜですか。また、地域の監視や重要な場所の更新の変更は使用しないことに注意してください.
アップデート:
そのため、以前のバージョンのアプリを使用して位置情報とプライバシーの設定をリセットしたところ、驚いたことに、アプリをバックグラウンドにすると位置情報アイコンが消えてしまいました (最初からそうすべきだったように)。アプリからの設定?ここで何が起こっているのか、誰にも洞察がありますか?
更新 2:
iOS 8.1.x でも発生します。