切换访问相机和照片时崩溃

dji*_*i33 3 avfoundation ios photosframework

我有一个集合视图(标准流程布局),其中第一个单元格显示实时摄像机源,其余单元格使用iOS 8的新照片框架显示来自用户库的照片.一切都呈现出来并且效果很好.

第一次打开时,系统会提示我按照预期访问相机和照片库.如果我为任何一个提示选择是或否,我的应用程序表现正常.

但是,如果我对应用程序进行后台处理,请进入设置>隐私>照片|相机并切换访问权限,我的应用程序崩溃.当连接到Xcode时,我没有收到有关应用程序崩溃原因的任何反馈.

不幸的是,Apple的Photos Framework示例应用程序做了同样的事情.

我怎样才能防止这种情况发生?我已经订阅了通知AVCaptureDeviceWasConnectedNotification,AVCaptureDeviceWasDisconnectedNotificationregisterChangeObserverPHPhotoLibrary但这些似乎从来没有被调用.

同样,以下是使用Apple的Sample应用程序和模拟器的步骤:

  1. 在模拟器中,转到设置>常规>重置>重置位置和隐私
  2. 运行应用程序
  3. 允许该应用访问您的照片库
  4. 后台示例应用程序并打开设置
  5. 转到隐私>照片并关闭设置
  6. 观看Xcode崩溃

在步骤3中,如果您拒绝访问您的照片,并在步骤5中启用访问权限,该应用程序也将崩溃.

Tom*_*voy 6

这本身并不是崩溃.当隐私标志发生变化时(包括Apple System Apps),iOS系统会终止请求访问照片库的每个应用系统范围.

这是由于iOS 6中的隐私更改而产生的.请参阅WWDC 2012会话中关于iOS和OS X中隐私支持的第24页.