3

我有一个集合视图(标准流程布局),其中第一个单元格显示实时相机源,其余单元格使用 iOS 8 的新照片框架显示用户库中的照片。一切渲染和工作都很棒。

第一次打开时,系统会提示我访问相机和照片库,正如预期的那样。如果我为任一提示选择是或否,我的应用程序运行良好。

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

不幸的是,Apple 的照片框架示例应用程序做同样的事情。

我怎样才能防止这种情况发生?我订阅了、 和on的通知AVCaptureDeviceWasConnectedNotification,但这些通知似乎从未被调用过。AVCaptureDeviceWasDisconnectedNotificationregisterChangeObserverPHPhotoLibrary

同样,这里是使用 Apple 的示例应用程序和模拟器的步骤:

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

在第 3 步中,如果您拒绝访问您的照片,并在第 5 步中启用访问权限,应用程序也会崩溃。

4

1 回答 1

6

这本身不是崩溃。当隐私标志更改时,iOS 系统会终止所有请求访问照片库的应用程序系统范围(包括 Apple 系统应用程序)。

This originates due to a privacy change made in iOS 6. Look at page 24 in the WWDC 2012 session on Privacy Support in iOS and OS X.

于 2015-05-26T20:48:35.193 回答