升级iOS10之后调用摄像头/麦克风等硬件程序崩溃闪退的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了升级iOS10之后调用摄像头/麦克风等硬件程序崩溃闪退的问题相关的知识,希望对你有一定的参考价值。

在升级到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 我们需要通过您的地理位置信息获取您周边的相关数据

以上是关于升级iOS10之后调用摄像头/麦克风等硬件程序崩溃闪退的问题的主要内容,如果未能解决你的问题,请参考以下文章

xcode8运行ios10 的版本模拟器会出现很多的崩溃现象,比如用到相机,麦克风,健康数据等

在 info.plist iOS 10 中声明对麦克风的使用访问权限以进行隐私设置

iOS 硬件授权检测:定位服务通讯录日历提醒事项照片蓝牙共享麦克风相机等

请求在 iOS 11 中使用 iPhone 麦克风的权限时应用程序崩溃

iOS 模拟器在麦克风权限请求时崩溃

Xcode 8升级后iOS10应用崩溃,返回malloc错误