Xcode 8.0 GM iPhone模拟器(iOS 10)崩溃

当我在真实设备上运行我的项目时,一切正常。

但是当我尝试在模拟器(iOS 10,iPhone 7和iPhone 6)上运行它时,应用程序崩溃,debugging器输出中没有debugging器消息。

坠毁的线程看起来像这样

在这里输入图像说明

我想知道什么

TCC` CRASHING_DUE_TO_PRIVACY_VIOLATION

手段,以及如何解决这个问题?

您是否正在使用需要用户批准的function(如相机,位置等)? TCC处理对这些资源的访问,并且__CRASHING_DUE_TO_PRIVACY_VIOLATION__的崩溃通常意味着您没有满足使用该function的要求。

确保您的Info.plist文件中包含任何这些function的用法说明键。 现在iOS 10绝对要求您提供如下描述:

 <key>NSCameraUsageDescription</key> <string>For taking selfies!</string> 

它可能正在您的设备上工作,因为您以前授予权限。 如果您删除应用程序并等待24小时(或者安装在以前从未安装应用程序的其他设备上),则可能会在设备上看到相同的内容。 (不同的服务对权限是否快速消失或保存一段时间以允许重新安装有不同的策略)。

更新:

developer.apple.com上有一个很好的技术问答网页 ,描述需要使用描述的框架,并列出每个框架和相关类/function/select器的相关密钥。

除了@ russbishop的回答:

您还需要为访问图库做同样的事情。 就像是:

 <key>NSPhotoLibraryUsageDescription</key> <string>$(PRODUCT_NAME) needs access to use your photo library</string> 

PS:与你的情况完全相反,我在设备上得到这个相同的崩溃,但不是在模拟器上。

除了以上所有的答案:

对我来说,这是相机和麦克风,NSCameraUsageDescription和NSMicrophoneUsageDescription。

如果你想录制video,你应该添加他们两个。

谢谢苹果。