升级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模式下):

NSPhotoLibraryUsageDescriptionApp程序需要访问相册,请授权

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

通讯录NSContactsUsageDescription

相册NSPhotoLibraryUsageDescription

相机NSCameraUsageDescription

麦克风NSMicrophoneUsageDescription

位置NSLocationUsageDescription

在使用期间访问位置NSLocationWhenInUseUsageDescription

始终访问位置NSLocationAlwaysUsageDescription

日历NSCalendarsUsageDescription

提醒事项NSRemindersUsageDescription

运动与健身NSMotionUsageDescription

健康更新NSHealthUpdateUsageDescription

健康分享NSHealthShareUsageDescription

蓝牙NSBluetoothPeripheralUsageDescription

媒体资料库NSAppleMusicUsageDescription

你可能感兴趣的:(升级IOS10后调用拍照、相册、通讯录崩溃)