iOS10权限crash问题

作者: mieGod | 来源:发表于2016-09-29 10:09 被阅读390次

    一直以来苹果都特别注重用户的隐私问题,比如访问联系人和打开相册都会弹出一个提示,来征求用户的意见,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/

    相关文章

      网友评论

      • Lol刀妹:nice
        mieGod:@无夜之星辰 多谢支持
      • JopYin:我的项目没有使用到这些也需要配置吗?别人说不配置的话提交ipa后无法构建版本,但是又有人说不需要的如果配置的话苹果会拒绝的
        mieGod:@JopYin 不客气
        JopYin:恩,谢谢楼主了,我先不配置试试
        mieGod:@JopYin 我的新项目目前还没有上架,但是根据我之前的上架经验来看,应该是用到哪个就配置哪个。没有用到的就不要配置了。

      本文标题:iOS10权限crash问题

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