0%

iOS——改变相册访问许可时的 crash

问题描述

这几天有注意到一个问题。我在做相册一块的时候,如果用户没有打开相册访问权限,会跳转到系统的设置界面,接着如果改动了权限回到 app,就会发现 app crash 了,并且重新加载了。

大概的步骤如下:

点击设置后代码如下:

1
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];

成功跳转后:

改变一下照片权限。

然后华丽丽的 crash 了:

没有任何输出,没有被 All Exceptions 断点拦截到。这真是一个悲伤的故事。

问题解决

当我发现这个问题时,仔细观察发现这种 crash 和一般的 crash 不太一样,app 会自动重启,但是没有经过 LauchScreen 界面。

然后尝试去用『大众点评』、『支付宝』一类常用的 app 做了同样的尝试。发现均有此问题。

又经过一番查找,在 stackoverflow 上找到 这样 一个问题,该问下有这样的一个回答。

该问题无人解答,这真是一个悲伤的故事。

随后又发现 这样 一个问题——App crashes on enabling Camera Access from Settings iOS 8

当首次请求访问相册时,系统会自动提示你在 plist 文件中配置的请求许可信息。
无论用户是否允许你的 app 访问相册,如果用户跳出应用改变了通讯簿、日历、提醒、相册的许可开关。iOS 将会 SIGKILL(无条件终止) 你的 app,以便确保你的 app 不再拿到任何过时的授权信息。当用户回到你的 app 时,你的 app 将重新加载。

综上所述,这是一个可以放任它不用管的问题。这果然是个悲伤的故事。


有什么问题都可以在博文后面留言,或者微博上私信我。

博主是 iOS 妹子一枚。

希望大家一起进步。

我的微博:Lotty周小鱼