iOS10权限crash问题

一直以来苹果都特别注重用户的隐私问题,比如访问联系人和打开相册都会弹出一个提示,来征求用户的意见,iOS10更加完善了这方面的权限。

A significant change in iOS 10 is that you must declare ahead of time any access to private data or your App will crash.

在访问下列信息的时候,需要在info.plist文件里,加上访问说明。

Contacts, Calendar, Reminders, Photos, Bluetooth Sharing, Microphone, Camera, Location, Health, HomeKit, Media Library, Motion, CallKit, Speech Recognition, SiriKit, TV Provider.

否则就会造成崩溃,这是我没有加说明的情况下,试图访问图库的一个崩溃

This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

可以直接在info.plist里添加键值对,输入Privacy就会有提示了。

Privacy_info.png

Privacy_alert.png

也可以以Source Code的方式打开info.plist,然后粘贴下面的字段。
下面列出所有的字段,方便以后粘贴使用。

info_source_code.png

<key>NSVideoSubscriberAccountUsageDescription</key>
    <string>视频认证</string>
    <key>NSSpeechRecognitionUsageDescription</key>
    <string>语音识别</string>
    <key>NSSiriUsageDescription</key>
    <string>Siri使用</string>
    <key>NSRemindersUsageDescription</key>
    <string>访问提醒事项</string>
    <key>kTCCServiceMediaLibrary</key>
    <string>TV控制</string>
    <key>NSMotionUsageDescription</key>
    <string>运动权限</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>麦克风权限</string>
    <key>NSAppleMusicUsageDescription</key>
    <string>苹果音乐</string>
    <key>NSLocationUsageDescription</key>
    <string>位置权限</string>
    <key>NSHomeKitUsageDescription</key>
    <string>HomeKit权限</string>
    <key>NSHealthUpdateUsageDescription</key>
    <string>健康应用</string>
    <key>NSHealthShareUsageDescription</key>
    <string>健康应用</string>
    <key>NSContactsUsageDescription</key>
    <string>通讯录</string>
    <key>NSCalendarsUsageDescription</key>
    <string>日历</string>
    <key>NSBluetoothPeripheralUsageDescription</key>
    <string>蓝牙</string>
    <key>NSPhotoLibraryUsageDescription</key>
    <string>相册</string>
    <key>NSCameraUsageDescription</key>
    <string>相机</string>
    <key>NSLocationAlwaysUsageDescription</key>
    <string>永久使用定位</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>应用使用的时候使用定位</string>

参考:
http://useyourloaf.com/blog/privacy-settings-in-ios-10/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容