我的iOS应用会访问用户的照片与ALAssetsLibrary
。 当我更改隐私设置的应用(设置→隐私→照片),应用程序得到由系统(杀死SIGKILL
)。 这是一个错误?
Answer 1:
我认为这是一个错误,或者至少不良记录和意外的行为。 但是,它不会崩溃它只是被迫重新启动。 你会得到一个SIGKILL消息,但没有崩溃日志。
如果你是一个注册的苹果开发者,你可以检查自己的论坛,关于这个问题的讨论
- https://devforums.apple.com/message/715855
- https://devforums.apple.com/message/714178
我不知道任何方式如何防止这种行为,但随时可自由进行文件与苹果的bug报告。 据传闻,他们使用错误的复印件,测量缺陷严重性的一种方式。 也许你可以存储,以便在重新启动时进行恢复您的应用程序的状态。
Answer 2:
使用的UIImagePickerController当发生这种情况也是如此。 顺序是这样的:
您显示的UIImagePickerController。 第一次,小警报询问使用照片库权限的用户。 比方说,用户说没有。
所有的用户可以与拣货机控制器在这一点上做的取消,让我们假设这是发生了什么。
在某些以后有机会,你展现的UIImagePickerController。 现在,它包含一个非定制的消息说,有对照片库中没有访问,但用户可以在设置中启用访问。
用户切换到设置并可以访问照片库此应用。
应用程序崩溃的背景。 不要紧,用户是否已经取消了台或者离开它显示。
我已经提交的这个错误,我建议你做同样的,您的情况。 苹果在iOS 6中推出了新的隐私制度和明确的疑难问题没有得到解决。
Answer 3:
搜索该PDF内的字“杀”: http://adcdownload.apple.com/wwdc_2012/wwdc_2012_session_pdfs/session_710__privacy_support_in_ios_and_os_x.pdf
当某些权限更改的iOS应用杀死。
此信息是很难追查。 这不是在任何“导游”的(喜好节目指南,例如)。
Answer 4:
当您使用simulator.Changing应用程序的权限,给你一个breakpoint.You可以在控制台输入“C”,以使应用程序继续运行并返回到原来的state.But您的真实设备,是测试您的应用是不是story.It只是重新启动应用程序。
Answer 5:
有些时候,SIGKILL错误的工作作为一个中断错误,它给出信号,你必须重新启动应用程序,并在同一时间,我们在管理应用程序的任务,并在该实例发送中断消息的方式不被应用的iOS处理。
在我的情况.....我不允许在应用程序中的照片和相机连接,每当我允许访问这些功能,我最小化的应用程序,使这些设置。 正如我启用了这些,让iOS的中断和应用程序接收这一点,但不能处理,并导致我们的应用程序终止或关闭。
Answer 6:
OK我第一次写一个答案。 我希望我能成功吧:)
resultBlock:failureBlock您使用的是assetForURL访问资源库?
如果你是的话,很有可能你不处理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];
}
所以,当你的应用程序没有访问照片库,将要求用户去做。