• iOS开发-iOS 10 由于权限问题导致崩溃的那些坑



     iOS开发-iOS 10 由于权限问题导致崩溃的那些坑

    6月份的WWDC大会结束有一段时间了,相信很多开发者也是在努力工作的闲时用着Xcode8 Beta版学习着新的特性吧。
    

    使用Xcode8写自己的东西有一段时间了,在使用Xcode8编程时不得不说我特别喜欢改后的默认字体,哈哈,当然默认字体是可以调回去的,只不过默认的字体感觉看起来比以前舒服了,毕竟不会像之前那么”字正腔圆”了。

    步入正题吧,不然慢慢的就会成为话唠了。凡事总会有个导火线吧,想记录权限问题的起因:
    今天在继续优化之前写的图片多选小demo的时候无意用Xcode8 Beta3打开了(用过的小伙伴应该知道,点击项目文件的话默认就是用Xcode8来打开的吧),在调用发生了崩溃现象,一开始以为是巧合,但尝试了第二 次之后,似乎意识到确实出了问题,从而关注控制台(为什么之前没有看,是因为Beta版不管有没有出现错误都会打印一堆的东西,索性就不看了),这个时候 就注意到了这句Xcode给我们的忠告:

    [access] 
    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.
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3

    不难翻译,大体意思就是这个App缺少一个获取私有(敏感)数据的权限描述,需要我们在info.plist文件中必须含有一个名字叫做NSPhotoLibraryUsageDescription的值来解释为什么应用需要使用这个数据,没错,获取相册资源的键值就是NSPhotoLibraryUsageDescription

    感觉它”友好”的提示之后,就去plist文件中添加了下面的键值:


    这个时候再点击获取图片资源,就弹出了一个获取权限的问候,不会发生崩溃了:

     
     
    通过类似事情,说明iOS10对用户的隐私又做了进一步加强,就好像当初iOS8对定位隐私进行加强一样,作为开发者的我们貌似也是应该时刻保持这种对新知识警觉性的。

    除了相册的权限,iOS10之后如下的权限请求也是需要我们填写请求描述的,在这里也给大家提醒一下:
    Privacy - Microphone Usage Description //麦克风权限
    Privacy - Contacts Usage Description   //通讯录权限
    Privacy - Camera Usage Description     //摄像头权限
    Privacy - NSSiriUsageDescription       //Siri的权限
    Privacy - Bluetooth Peripheral Usage Description //蓝牙
    Privacy - Reminders Usage Description  //提醒事项
    Privacy - Motion Usage Description     //运动与健康
    Privacy - Media Libaray Usage Description //媒体资源库
    Privacy - Calendars Usage Description  //日历
     
  • 相关阅读:
    发邮件遇到 Failure sending mail.The remote name could not be resolved: 'www.youdomain.com' 问题的解决方法
    machine.config, inetinfo.exe, aspnet_wp.exe, aspnet_state.exe这些文件的作用于位置.
    IIS的变迁(IIS3, IIS4, IIS5, IIS6, IIS7)
    精简代码 (转)
    新年第一帖——元旦这天骑车迷路了
    我是月亮,也想做那天上的太阳
    记几点吧
    谈谈电影
    闺蜜
    大气
  • 原文地址:https://www.cnblogs.com/LiLihongqiang/p/6774612.html
Copyright © 2020-2023  润新知