in iOS

iOS 修改 MicroPhone Privacy 设定导致 App Crash

当你的 App 运行时,切换到后台,进入 Setting -> Privacy -> MicroPhone -> 切换自己的 App 开关状态后,再切换回 App,如果当前连着 Xcode 调试,会发现程序收到一条 SIGKILL 信号,程序终止;若未连接 Xcode,则会发现 App 已经重启(会看到 App 的开始画面,而非切换后台前的界面)。

这其实是一个误会。

这个由系统发送的 SIGKILL 中止信号,并不是一个 Crash(因此我们也不可能获得 Crash 相关信息)。

Apple Session 在 iOS6 Privacy 已经说明:

>
如果权限改变,App 将会退出。
如果 App 注册了后台任务,expiration handler 将会调用。
然后 iOS 将会杀死应用。
我们无法绕过他。

注意:App 在 iOS7 同样会退出。如果 App 在设备上运行(非 Xcode debuging ),这个 App 将在权限改变后自动重启应用。用户不会看见 Crash 发生。

原文:Toggling Privacy settings will kill the app

总结:iOS Privacy 设置改变将会使 App 关闭。如果系统在 iOS7 以上,App 将会在关闭后自动重启。

原创文章,采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
转载请注明:转载自 Tony's blog,原文网址:https://itony.me/882.html