美文网首页
【原】xcode8因为权限程序崩溃的问题

【原】xcode8因为权限程序崩溃的问题

作者: 紫荆逸 | 来源:发表于2017-06-26 17:19 被阅读26次

    xcode8如果代码中需要访问相册,相机,麦克风,蓝牙等都需要在info.plist设置一下权限才可以使应用正常运行起来。

    一般权限错误都是这样的:

    以相机为例:

    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.

    注意里面的关键字:NSPhotoLibraryUsageDescription。

    这说明你需要找到你的info.plist,然后添加一个字段:NSPhotoLibraryUsageDescription,回车,key值你可以随意写,比如写“可以访问您的相机吗?”

    重新运行,就可以了。

    info.plist效果如下:


    是不是发现为什么info.plist里为什么不是自己刚刚写的NSPhotoLibraryUsageDescription,而是Privacy - Photo Library Usage Description,哈哈,你把NSPhotoLibraryUsageDescription写上,然后回车,就可以看到自己写的NSPhotoLibraryUsageDescription变成了Privacy - Photo Library Usage Description。

    所以,只要控制台报什么权限需要设置一下,你就直接复制放info.plist里就可以了。不用再去百度那个权限到底怎么拼写了。

    这里备注一下几个常用的权限设置:

    NSContactsUsageDescription -> 通讯录

    NSMicrophoneUsageDescription -> 麦克风

    NSPhotoLibraryUsageDescription -> 相册

    NSCameraUsageDescription -> 相机

    NSLocationAlwaysUsageDescription -> 地理位置

    NSLocationWhenInUseUsageDescription -> 地理位置

    Privacy - Bluetooth Peripheral Usage Description -> 蓝牙权限

    Privacy - Speech Recognition Usage Description -> 语音转文字权限

    Privacy - Calendars Usage Description -> 日历权限

    Privacy - Contacts Usage Description -> 通讯录权限

    最后再添加一个http请求需要允许的:

    <key>NSAppTransportSecurity</key>

    <dict>

    <key>NSAllowsArbitraryLoads</key>

    <true/>

    </dict>

    相关文章

      网友评论

          本文标题:【原】xcode8因为权限程序崩溃的问题

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