45

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

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

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

4

2 に答える 2

76

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

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

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

有効期限ハンドラー:beginBackgroundTaskWithExpirationHandler

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

于 2012-10-01T06:00:50.573 に答える
2

beginBackgroundTaskWithExpirationHandler をテストした後、Apple のプレゼンテーションに記載されているように、アクセス許可の設定を変更した後、有効期限ハンドラー ブロックが呼び出されていないと言えます。

于 2015-09-02T16:26:06.760 に答える