http://ios.jobbole.com/89551/
http://ios.jobbole.com/88982/
2.隐私数据访问问题
问题出现
- 现在app能运行了,当我打开相机时突然又crash了,好吧,坑还不少,崩溃日志如下:
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.
崩溃原因
- 上面崩溃意思试图访问安全隐私数据,但是又没有相应的描述,你必须要包含在info.plist里包含一个键值 NSPhotoLibraryUsageDescription对应的描述。
- 其实上面是iOS10,苹果加强了对隐私数据的保护,要对隐私数据权限做一个适配
iOS10调用相机,访问通讯录,访问相册等都要在info.plist中加入权限访问描述,不然之前你们的项目涉及到这些权限的地方就会直接crash掉。
解决办法
- 只需要在info.plist添加NSContactsUsageDescription的key, value自己随意填写就可以,这里列举出对应的key(Source Code模式下):
1
|
NSPhotoLibraryUsageDescriptionApp需要您的同意,才能访问相册NSCameraUsageDescriptionApp需要您的同意,才能访问相机NSMicrophoneUsageDescriptionApp需要您的同意,才能访问麦克风NSLocationUsageDescriptionApp需要您的同意,才能访问位置NSLocationWhenInUseUsageDescriptionApp需要您的同意,才能在使用期间访问位置NSLocationAlwaysUsageDescriptionApp需要您的同意,才能始终访问位置NSCalendarsUsageDescriptionApp需要您的同意,才能访问日历NSRemindersUsageDescriptionApp需要您的同意,才能访问提醒事项NSMotionUsageDescriptionApp需要您的同意,才能访问运动与健身NSHealthUpdateUsageDescriptionApp需要您的同意,才能访问健康更新 NSHealthShareUsageDescriptionApp需要您的同意,才能访问健康分享NSBluetoothPeripheralUsageDescriptionApp需要您的同意,才能访问蓝牙NSAppleMusicUsageDescriptionApp需要您的同意,才能访问媒体资料库
|
– 隐私数据 | 对应KEY值 |
---|---|
相册 | NSPhotoLibraryUsageDescription |
相机 | NSCameraUsageDescription |
麦克风 | NSMicrophoneUsageDescription |
位置 | NSLocationUsageDescription |
在使用期间访问位置 | NSLocationWhenInUseUsageDescription |
始终访问位置 | NSLocationAlwaysUsageDescription |
日历 | NSCalendarsUsageDescription |
提醒事项 | NSRemindersUsageDescription |
运动与健身 | NSMotionUsageDescription |
健康更新 | NSHealthUpdateUsageDescription |
健康分享 | NSHealthShareUsageDescription |
蓝牙 | NSBluetoothPeripheralUsageDescription |
媒体资料库 | NSAppleMusicUsageDescription |