【发布时间】:2014-05-21 05:35:03
【问题描述】:
我的 iOS 应用需要访问图片的权限才能正常运行。
当我发现以下情况时,我正在测试我的应用如何响应隐私设置的更改:每次我转到“设置”应用并更改我的应用的隐私设置(打开或关闭)时,我的应用在没有任何警告的情况下被杀死。
我在设备的控制台中找到了这些日志:
Apr 8 15:01:50 iPad Preferences[5924] <Warning>: ########### Quitting application (xxx) in response to privacy settings change.
Apr 8 15:01:50 iPad com.apple.launchd[1] (UIKitApplication:xxx[0xc7cb][6039]) <Notice>: (UIKitApplication:com.edupad.itoochdev[0xc7cb]) Exited: Killed: 9
Apr 8 15:01:50 iPad backboardd[30] <Warning>: Application 'UIKitApplication:xxx[0xc7cb]' exited abnormally with signal 9: Killed: 9
虽然我在我的应用程序委托中实现了applicationWillTerminate:,但在应用程序被终止之前它似乎没有被调用。
我找不到任何相关文档,说明在我的应用程序被杀死之前我应该实施什么来获得通知。知道我能不能解决这个问题吗?
PS 1:我知道我可以实现applicationDidEnterBackground:,但我想在以下情况下提供不同的用户体验(A)用户刚刚快速切换到设置应用程序以更改隐私设置或(B)用户想要继续前进,一段时间后不会回到应用程序
PS 2:如果您正在测试这类事情,请不要在您的应用程序通过 Xcode 启动时执行此操作,否则您会因 sigkill 而崩溃。
【问题讨论】:
-
您必须始终期望您的应用在切换到后台后可能会被杀死。即使用户快速进入隐私设置,他们也可以记住其他内容,进入不同的应用程序,等等。因此,您唯一的可能性可能是检查在进入后台和前台之间花费了多少时间。
标签: ios settings privacy uiapplicationdelegate