用刚刚升级好的iOS10 开发调试,发现程序在某个页面突然闪退,顿时有点懵逼了 这可是公司四五年的老工程了!
于是乎,查找资料发现如下玄机:
iOS10,对于隐私权限的管理更加严格:
闪退原因在于: 调用相机、相册、麦克风、通讯录、定位等隐私数据时,在获取系统权限的时候发生闪退崩溃
解决方法如下:
只需要在工程的info.plist文件中添加你需要访问的隐私数据对应的一个键值就可以了
比如:如果使用相机,则在info.plist中添加key:NSCameraUsageDescription value为string,且string不能为空,否则提交商店会有问题 。那么在访问提示的时候,就会出现你写的那句话
相机 === NSCameraUsageDescription
相册===NSPhotoLibraryUsageDescription
麦克风===NSMicrophoneUsageDescription
通信录===NSContactsUsageDescription
日历===NSCalendarsUsageDescription
蓝牙===NSBluetoothPeripheralUsageDescription
媒体资料库===NSAppleMusicUsageDescription
提醒事项===NSRemindersUsageDescription
位置===NSLocationUsageDescription
在使用期间访问位置===NSLocationWhenInUseUsageDescription
始终访问位置===NSLocationAlwaysUsageDescription
运动与健身===NSMotionUsageDescription