web-dev-qa-db-ja.com

プライバシー設定を切り替えるとアプリが強制終了されます

IPhoneの連絡先を使用するアプリがあります。 iOS 6では、ユーザーは最初の試行で連絡先アクセスの入力を求められます。この時点で、ユーザーは「許可」または「許可しない」を押すことができます。問題は、ユーザーがアプリをバックグラウンドで実行してから、[設定]-> [プライバシー]-> [連絡先]に移動して、アプリの連絡先プライバシー設定を切り替える場合です。切り替えると、コンソールにアプリが表示されます。

アプリケーション 'UIKitApplication:com.myApp'がシグナル9で異常終了しました:Killed:9

Appleのドキュメントでこれに関する情報を見つけることができません。誰かがこれを防ぐ方法を知っていますか?これは設計どおりですか?それともこれはAppleバグですか?

39
rocky

oSはクラッシュではないSIGKILLを送信します-Apple iOS6のプライバシーに関するセッションは次のように述べています。

  • 権限が変更されると、アプリは終了します。
  • 登録されている場合、バックグラウンドタスクの有効期限ハンドラーが呼び出されます
  • その後、iOSはアプリケーションを強制終了します。

WWDC 2012セッションビデオ:iOSおよびOS Xでのプライバシーサポート

有効期限ハンドラー: beginBackgroundTaskWithExpirationHandler

私が見ることができるこれを回避する方法はありません。

67
amleszk

BeginBackgroundTaskWithExpirationHandlerをテストした後、Appleプレゼンテーションで説明されているように、権限設定を変更した後、有効期限ハンドラーブロックが呼び出されないと言えます。

2
Adobels