iOS10及以上权限访问

问题场景:

应用需要访问客户的通讯录,在真机(iOS8)上跑的时候没有发现问题,在模拟器(iOS11)上会闪退,并输出一下log:
This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSContactsUsageDescription key with a string value explaining to the user how the app uses this data.

原因:

iOS10以后如果app要访问用户的隐私权限,比如:相册、相机、麦克风、通讯录、位置、日历等等,都需要在info.plist中添加对应的权限访问字段。

操作方法:

在工程中找到info.plist然后鼠标右击,选择“open AS”->‘source code’.然后在该文件中添加对应的访问字段就行,如下:


NSPhotoLibraryUsageDescription
App需要您的同意,才能访问相册

NSCameraUsageDescription
App需要您的同意,才能访问相机

NSMicrophoneUsageDescription
App需要您的同意,才能访问麦克风

NSLocationUsageDescription
App需要您的同意,才能访问位置

NSLocationWhenInUseUsageDescription
App需要您的同意,才能在使用期间访问位置

NSLocationAlwaysUsageDescription
App需要您的同意,才能始终访问位置

NSCalendarsUsageDescription
App需要您的同意,才能访问日历

NSRemindersUsageDescription
App需要您的同意,才能访问提醒事项

NSMotionUsageDescription App需要您的同意,才能访问运动与健身

NSHealthUpdateUsageDescription
App需要您的同意,才能访问健康更新

NSHealthShareUsageDescription
App需要您的同意,才能访问健康分享

NSBluetoothPeripheralUsageDescription
App需要您的同意,才能访问蓝牙

NSAppleMusicUsageDescription
App需要您的同意,才能访问媒体资料库

参考https://www.jianshu.com/p/f2945d94e80c

你可能感兴趣的:(iOS10及以上权限访问)