iOS 由于信号 9 允许许可而终止

iOS Terminated due to signal 9 on allowing permission

我正在制作一个 iOS 应用程序,我是 iOS 世界的新手。在此应用中,我想访问用户联系人。一切进展顺利,运作良好。但是我经历了一个惊人的行为,这是我在 Android 中从未见过的,因为我是 android 开发人员。

在 iOS 中访问用户联系人我正在使用联系人框架。我认为它比 iOS 中的其他任何一个都更容易和快速。但是,我无法完全利用它。让我告诉你我做了什么以及我遇到了什么问题。

我做了什么 我在 ViewController 上请求权限,用户提示对话框要求联系人权限。如果用户允许权限,一切顺利,但是当用户不允许权限时,麻烦就来了。

访问用户联系人更有必要,因为我的应用程序的整个工作和基本业务理念都基于用户联系人。现在要处理这个问题,当用户不允许权限时,我会显示另一个对话框,告诉他他必须允许权限,这样应用程序才能继续,到目前为止一切顺利。

现在我将用户带到他可以允许权限的设置,或者他可以简单地返回。现在结帐 2 个案例

CASE 1: When User come on Settings screen and go back again without allowing permission When I take user to Settings screen and instead of allowing permission he gets back to my app I try to show him same dialog again to enable permission in every case. This is going good. I mean for testing purpose I repeat same procedure manytimes, I mean I do not allow my self Contacts permission, It takes me to setting scree, from settings screen I get back to my app and again I am able to see same dialog that took me to settings scree. THIS IS FINE

CASE 2: When User is taken to settings screen and he permits the permission: Here when user allows the permission I get message in the log that is "Message from debugger: Terminated due to signal 9". And when I get back to my app, it starts over again. Looks like my app gets re-open or crashed being in background.

重要提示:为此,我检查了我的记忆或任务在后台执行的任何事情,但后台没有任何事情发生。崩溃前我的内存大小是 54.78 MB。而且我认为不值得担心。

有人知道发生了什么事吗??

这是预期的行为。 iOS 当用户更改联系人、相机、麦克风和照片(可能还有其他一些)的权限时终止应用程序。

您的应用没有崩溃,只是被 iOS 使用新的隐私设置强制重启。 iOS 将 SIGKILL 应用程序。 (这是 iOS 的默认行为)。您可以查看 - WWDC 2012 Session Videos: Privacy Support in iOS and OS X 了解更多信息。

这不适用于位置权限。