在 iOS10 之前调用系统相机权限没有问题,在iOS10之后突然不能用了 ,是因为iOS10之后对隐私中的权限做了进一步限制,需要在Info.plist 中添加说明
一般会遇到的崩溃例如:
[access] This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain anNSPhotoLibraryUsageDescription
key with a string value explaining to the user how the app uses this data.
这个是拍照动作引起的崩溃,在升iOS10之前都是好的,升级之后,需要在plist文件中添加相册权限。相应的麦克风,通讯录,如果项目中涉及到了,也需要添加相应的权限。报错的相应key值:
通信录:NSContactsUsageDescription
麦克风:NSMicrophoneUsageDescription
相册:NSPhotoLibraryUsageDescription
这里仅以相册的为例:
plist文件里面添加,Privacy - Photo Library Usage Description,Value值为描述,弹出的提示框会显示出来。
升到iOS10之后,需要设置权限的有:
- 麦克风权限:Privacy - Microphone Usage Description 是否允许此App使用你的麦克风?
- 相机权限: Privacy - Camera Usage Description 是否允许此App使用你的相机?
- 相册权限: Privacy - Photo Library Usage Description 是否允许此App访问你的媒体资料库?
- 通讯录权限: Privacy - Contacts Usage Description 是否允许此App访问你的通讯录?
- 蓝牙权限:Privacy - Bluetooth Peripheral Usage Description 是否许允此App使用蓝牙?
- 语音转文字权限:Privacy - Speech Recognition Usage Description 是否允许此App使用语音识别?
- 日历权限:Privacy - Calendars Usage Description
- 定位权限:Privacy - Location When In Use Usage Description
- 定位权限: Privacy - Location Always Usage Description
- 位置权限:Privacy - Location Usage Description
- 媒体库权限:Privacy - Media Library Usage Description
- 健康分享权限:Privacy - Health Share Usage Description
- 健康更新权限:Privacy - Health Update Usage Description
- 运动使用权限:Privacy - Motion Usage Description
- 音乐权限:Privacy - Music Usage Description
- 提醒使用权限:Privacy - Reminders Usage Description
- Siri使用权限:Privacy - Siri Usage Description
- 电视供应商使用权限:Privacy - TV Provider Usage Description
- 视频用户账号使用权限:Privacy - Video Subscriber Account Usage Description
需要在Info.plist 中添加说明
1.相机 Privacy - Photo Library Usage Description
2.相册 Privacy - Camera Usage Description
3.麦克风Privacy - Microphone Usage Description
等等。。。。。。
根据你的需求配置完就OK 。
或者 Info.plist -> Open As -> Source Code 添加
<key>NSMicrophoneUsageDescription</key>
<string>App需要您的同意,才能访问麦克风</string>
<key>NSCameraUsageDescription</key>
<string>App使用你的相机</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>App需要您的同意,才能在使用期间访问位置</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>App使用你的相册</string>
- <key>添加的权限</key>
- <string>弹框提示</string>
等等。。。。。。