升级IOS10后调用拍照、相册、通讯录崩溃

问题出现

今天在IOS10上使用app是在拍照功能Crash、访问相册也Crash,IOS9上是正常的。连机调试发现报错如下:

This app has crashed because it attempted to access privacy-sensitive data without a usage description.The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

崩溃原因

上面字面意思是指APP试图访问安全隐私数据,但是又没有相应的描述,在info.plist里包含一个键值为NSPhotoLibraryUsageDescription 及对应的描述来解释如何使用这些数据。

查询资料发现是从iOS10,苹果加强了对隐私数据的保护,要对隐私数据权限做一个适配,iOS10调用相机,访问通讯录,访问相册等都要在info.plist中加入权限访问描述,不然之前你们的项目涉及到这些权限的地方就会直接crash掉。

解决办法

只需要在info.plist添加NSPhotoLibraryUsageDescription的key, value自己随意填写就可以,这里列举出对应的key(Source Code模式下):

<key>NSPhotoLibraryUsageDescriptionApp</Key><value>程序需要访问相册,请授权</value>

对应还有其他类型隐私类型-  隐私数据对应key值

通讯录NSContactsUsageDescription

相册NSPhotoLibraryUsageDescription

相机NSCameraUsageDescription

麦克风NSMicrophoneUsageDescription

位置NSLocationUsageDescription

在使用期间访问位置NSLocationWhenInUseUsageDescription

始终访问位置NSLocationAlwaysUsageDescription

日历NSCalendarsUsageDescription

提醒事项NSRemindersUsageDescription

运动与健身NSMotionUsageDescription

健康更新NSHealthUpdateUsageDescription

健康分享NSHealthShareUsageDescription

蓝牙NSBluetoothPeripheralUsageDescription

媒体资料库NSAppleMusicUsageDescription

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容