ios 更改隐私设置时被SIGKILL杀死的应用

w41d8nur  于 2023-05-19  发布在  iOS
关注(0)|答案(7)|浏览(170)

我的iOS应用通过ALAssetsLibrary访问用户的照片。当我更改应用程序的隐私设置(设置→隐私→照片)时,应用程序被系统杀死(SIGKILL)。这是一个bug吗?

wtlkbnrh

wtlkbnrh1#

我认为这是一个错误,或者至少是记录不充分和意外的行为。但它并没有崩溃,只是被迫重新启动。您将收到SIGKILL消息,但没有崩溃日志。
如果你是一个注册的苹果开发者,你可以查看他们的论坛来讨论这个问题

我不知道有什么方法可以防止这种行为,但请随时向苹果提交错误报告。有传言说他们使用bug副本作为衡量bug严重性的一种方法。也许你可以存储你的应用状态,以便在它重新启动时恢复它。

e3bfsja2

e3bfsja22#

使用UIImagePickerController时也会发生这种情况。序列是这样的:
1.您将显示UIImagePickerController。第一次,小警报要求用户允许使用照片库。假设用户说不。
1.此时,用户可以对选择器控制器执行的所有操作都是取消,因此让我们假设这就是所发生的情况。
1.在以后的某个场合,您将显示UIImagePickerController。它现在包含一条不可自定义的消息,说明无法访问照片库,但用户可以在“设置”中启用访问。
1.用户切换到“设置”并启用对此应用的照片库的访问。
1.应用程序在后台崩溃。用户是取消了选择器还是让它一直显示都没有关系。
我已经提交了一个bug,我建议你也这样做,为您的情况。苹果在iOS 6中引入了一个新的隐私系统,显然这些问题还没有解决。

kr98yfug

kr98yfug3#

在此PDF文件中搜索单词“kill”:http://adcdownload.apple.com/wwdc_2012/wwdc_2012_session_pdfs/session_710__privacy_support_in_ios_and_os_x.pdf

iOS会在某些权限更改时杀死应用。

这个信息很难追踪。它不在任何“指南”中(例如,首选项编程指南)。

vecaoik1

vecaoik14#

当您使用模拟器测试应用程序时。更改应用程序的权限会给您一个断点。您可以在控制台中键入“c”,使应用程序继续运行并返回原始状态。但在您的真实的设备中,情况并非如此。它只是重新启动应用程序。

8nuwlpux

8nuwlpux5#

有些时候SIGKILL错误作为中断错误工作,它给iOS的信号,你必须重新启动你的应用程序,同时我们正在管理应用程序的任务,并在该示例中发送中断消息的方式不处理的应用程序.
在我的情况下...我不允许应用程序中的照片和相机访问,每当我允许访问这些功能时,我都会最小化应用程序并启用这些设置。当我启用这些时,iOS会收到一个中断,应用程序会收到这个中断,但无法处理,导致我们的应用程序终止或关闭。

ztmd8pv5

ztmd8pv56#

您是否使用assetForURL:resultBlock:failureBlock:访问资源库?
如果是这样的话,很可能您没有处理ALAssetLibrary的故障块。
你可以这样做

ALAssetsLibraryAccessFailureBlock failureBlock = ^(NSError *error)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Access to Photo Library is Denied "
                                                            message:@"Please allow <YOUR APP NAME> to access your Photo library from Privacy Settings"
                                                           delegate:nil
                                                  cancelButtonTitle:@"OK"
                                                  otherButtonTitles:nil];
            [alert show];
            [alert release];
}

因此,当您的应用无法访问照片库时,它会要求用户进行访问。

3hvapo4f

3hvapo4f7#

我不知道这会有多大帮助,但我遇到了一个类似的问题,当我通过隐私设置(设置→隐私→蓝牙)关闭/打开蓝牙时,应用程序会崩溃,但当我直接更改蓝牙设置时,它不会崩溃(设置→蓝牙),所以我认为这里可以说两件事。
1.这不是您正在使用的应用程序的特定错误,而是一个更一般的问题。
1.查看隐私设置可能是原因所在。
我也在寻找一个解决方案,就如何防止它虽然,所以只是分享一个见解,在那里的原因可能是现在,但希望它可以得到解决!谢谢!

相关问题