在升级到iOS10之后, 开发过程中难免会遇到很多的坑, 下面是一些常见的坑, 我做了一些整理, 希望对大家开发有帮助:
&1. 调用视频,摄像头, 麦克风,等硬件程序崩溃闪退的问题:
要注意的问题 iOS10 对隐私权限的管理更为严格 ,比如访问的摄像头、麦克风等硬件,都需要提前请求应用权限、允许后才可以使用,或者现在要提前声明,虽然以往要求不严格。
在iOS10中比如遇到崩溃,日志:
*This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.
意思是说:你需要在info.plist文件 添加一个“ NSCameraUsageDescription ”的Key,Value添加一个描述。
我这里将常用到的key都添加到应用的info.plist里面:
下面的key值分别为: 相机, 通讯录,麦克风,相册
<key>NSCameraUsageDescription</key>
<string>cameraDesciption</string>
<key>NSContactsUsageDescription</key>
<string>contactsDesciption</string>
<key>NSMicrophoneUsageDescription</key>
<string>microphoneDesciption</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>photoLibraryDesciption</string>
其中这个string值可以随意写
相关的字段:
麦克风权限: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 是否允许此App使用日历?
定位权限:Privacy – Location When In Use Usage Description 我们需要通过您的地理位置信息获取您周边的相关数据
定位权限: Privacy – Location Always Usage Description 我们需要通过您的地理位置信息获取您周边的相关数据