更改设置中通讯录权限时应用程序崩溃

5
iOS 8 / iOS 9下的Swift应用程序:在真实设备上更改地址簿权限时崩溃。
请参见以下截图和代码:

1
请在此处放置获取联系人详细信息的代码。 - Ilesh P
这是正常行为。请参阅其他相同的问题:https://dev59.com/4Gcs5IYBdhLWcg3w3HkG - Baptiste Truchot
@ilesh 我没有获取联系人,我只是获得了访问通讯录的权限。当应用程序运行时,我会在设备设置中切换通讯录访问权限。当权限被切换时,应用程序崩溃。就是这样。 - Sergey Krasiuk
@user3375798 在iOS7(Objective-C)中,我没有这个错误。 - Sergey Krasiuk
应用程序在iOS7中也会退出。请注意,如果正常在设备上运行应用程序(而不是在Xcode调试中),则在权限更改后应用程序将自动重新启动。用户不会看到发生了崩溃(当然,假设应用程序在重新启动时正确处理了所有内容)。 - Baptiste Truchot
@user3375798 好的,我明白了。谢谢。 - Sergey Krasiuk
1个回答

34

你的应用程序没有崩溃,它只是因为新的隐私设置而被iOS强制重新启动。所以当你改变隐私策略时,如果应用程序连接了调试器,它将被杀死,否则它将重新启动或重启。

注意:如果用户在某个时刻更改了通讯录、日历、提醒事项、相机或照片权限,iOS会SIGKILL应用程序。(这不是崩溃,而是iOS的默认行为)


2
谢谢。问题已关闭。 - Sergey Krasiuk
你有苹果官方的相关链接吗? - User31
当我使用模拟器时,我的应用程序“崩溃”了;然而,在实际的iPhone上测试时,该应用程序只是像上面接受的答案所描述的那样重新启动。 - Vee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接