美文网首页
iOS10及以上权限访问

iOS10及以上权限访问

作者: nuannuan_nuan | 来源:发表于2018-03-28 14:19 被阅读8次

问题场景:

应用需要访问客户的通讯录,在真机(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’.然后在该文件中添加对应的访问字段就行,如下:


<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能访问相册</string>

<key>NSCameraUsageDescription</key>
<string>App需要您的同意,才能访问相机</string>

<key>NSMicrophoneUsageDescription</key>
<string>App需要您的同意,才能访问麦克风</string>

<key>NSLocationUsageDescription</key>
<string>App需要您的同意,才能访问位置</string>

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

<key>NSLocationAlwaysUsageDescription</key>
<string>App需要您的同意,才能始终访问位置</string>

<key>NSCalendarsUsageDescription</key>
<string>App需要您的同意,才能访问日历</string>

<key>NSRemindersUsageDescription</key>
<string>App需要您的同意,才能访问提醒事项</string>

<key>NSMotionUsageDescription</key> <string>App需要您的同意,才能访问运动与健身</string>

<key>NSHealthUpdateUsageDescription</key>
<string>App需要您的同意,才能访问健康更新 </string>

<key>NSHealthShareUsageDescription</key>
<string>App需要您的同意,才能访问健康分享</string>

<key>NSBluetoothPeripheralUsageDescription</key>
<string>App需要您的同意,才能访问蓝牙</string>

<key>NSAppleMusicUsageDescription</key>
<string>App需要您的同意,才能访问媒体资料库</string>

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

相关文章

网友评论

      本文标题:iOS10及以上权限访问

      本文链接:https://www.haomeiwen.com/subject/dywycftx.html