当应用程序检测到隐私设置更改时自动重启

时间:2013-04-10 15:55:16

标签: ios cocoa-touch

我有一个使用ALAssets框架访问用户照片库的应用。我写了一些代码来检测应用程序是否有权访问照片库,如果没有,我会显示一条警告消息,告诉用户在设置中打开应用程序的位置服务。

问题是,当用户手动更改隐私设置然后他们重新打开应用程序时,iOS会强制该应用程序与SIGKILL崩溃。

我注意到另一个应用程序处理此问题的方式是通过某种方式检测隐私设置的更改,并强制应用程序在用户下次打开时重新启动。有谁知道如何做到这一点?

2 个答案:

答案 0 :(得分:13)

你误解了发生的事情。您的应用程序没有崩溃(尽管如果您使用调试程序运行应用程序可能会出现这种情况)。

当您切换到“设置”应用(并且您的应用在后台暂停)并更改隐私设置时,已终止的应用将被终止。当您切换回应用程序时,它会再次启动。这与您的应用程序因任何其他原因被杀死没有什么不同。

您可以通过恢复以前的状态来编写应用程序来处理此问题。您谈到的另一个应用程序只是将用户返回到先前的状态。许多应用都这样做。它与因隐私变化而被杀无关。该应用程序将在因任何原因被杀死时恢复状态。

答案 1 :(得分:1)

您可以使用ALAssetsLibrary的{​​{3}}检查您是否有权访问照片库。您应该在每次应用“打开”时调用的某种方法中检查此值,并相应地更新您的用户界面。