我有一个集合视图(标准流程布局),其中第一个单元格显示实时相机源,其余单元格使用 iOS 8 的新照片框架显示用户库中的照片。一切渲染和工作都很棒。
第一次打开时,系统会提示我访问相机和照片库,正如预期的那样。如果我为任一提示选择是或否,我的应用程序运行良好。
但是,如果我在后台运行应用程序,进入设置 > 隐私 > 照片|相机并切换访问权限,我的应用程序就会崩溃。当连接到 Xcode 时,我没有收到任何关于应用程序崩溃原因的反馈。
不幸的是,Apple 的照片框架示例应用程序做同样的事情。
我怎样才能防止这种情况发生?我订阅了、 和on的通知AVCaptureDeviceWasConnectedNotification
,但这些通知似乎从未被调用过。AVCaptureDeviceWasDisconnectedNotification
registerChangeObserver
PHPhotoLibrary
同样,这里是使用 Apple 的示例应用程序和模拟器的步骤:
- 在模拟器中,转到设置 > 常规 > 重置 > 重置位置和隐私
- 运行应用程序
- 允许该应用访问您的照片库
- 后台示例应用程序并打开设置
- 转到隐私>照片并关闭设置
- 观看 Xcode 崩溃
在第 3 步中,如果您拒绝访问您的照片,并在第 5 步中启用访问权限,应用程序也会崩溃。