通过SIGKILL更改隐私设置时,应用程序丧生(App killed by SIGKILL when

2019-06-18 09:32发布

我的iOS应用会访问用户的照片与ALAssetsLibrary 。 当我更改隐私设置的应用(设置→隐私→照片),应用程序得到由系统(杀死SIGKILL )。 这是一个错误?

Answer 1:

我认为这是一个错误,或者至少不良记录和意外的行为。 但是,它不会崩溃它只是被迫重新启动。 你会得到一个SIGKILL消息,但没有崩溃日志。

如果你是一个注册的苹果开发者,你可以检查自己的论坛,关于这个问题的讨论

  • https://devforums.apple.com/message/715855
  • https://devforums.apple.com/message/714178

我不知道任何方式如何防止这种行为,但随时可自由进行文件与苹果的bug报告。 据传闻,他们使用错误的复印件,测量缺陷严重性的一种方式。 也许你可以存储,以便在重新启动时进行恢复您的应用程序的状态。



Answer 2:

使用的UIImagePickerController当发生这种情况也是如此。 顺序是这样的:

  1. 您显示的UIImagePickerController。 第一次,小警报询问使用照片库权限的用户。 比方说,用户说没有。

  2. 所有的用户可以与拣货机控制器在这一点上做的取消,让我们假设这是发生了什么。

  3. 在某些以后有机会,你展现的UIImagePickerController。 现在,它包含一个非定制的消息说,有对照片库中没有访问,但用户可以在设置中启用访问。

  4. 用户切换到设置并可以访问照片库此应用。

  5. 应用程序崩溃的背景。 不要紧,用户是否已经取消了台或者离开它显示。

我已经提交的这个错误,我建议你做同样的,您的情况。 苹果在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];
}

所以,当你的应用程序没有访问照片库,将要求用户去做。



文章来源: App killed by SIGKILL when changing privacy settings