• 调用相机、相册、麦克风、位置等隐私问题崩溃解决办法

你的项目中访问了隐私数据,比如:相机,相册,联系人等,在Xcode8中打开编译的话,统统会crash,控制台会输出下面这样的日志:

这是因为iOS对用户的安全和隐私的增强,在申请很多私有权限的时候都需要添加描述,但是,在使用Xcode 8之前的Xcode还是使用系统的权限通知框.
要想解决这个问题,只需要在info.plist添加NSContactsUsageDescription的key, value自己随意填写就可以,这里列举出对应的key(Source Code模式下):

  1. <!-- 相册 -->
  2. <key>NSPhotoLibraryUsageDescription</key>
  3. <string>App需要您的同意,才能访问相册</string>
  4. <!-- 相机 -->
  5. <key>NSCameraUsageDescription</key>
  6. <string>App需要您的同意,才能访问相机</string>
  7. <!-- 麦克风 -->
  8. <key>NSMicrophoneUsageDescription</key>
  9. <string>App需要您的同意,才能访问麦克风</string>
  10. <!-- 位置 -->
  11. <key>NSLocationUsageDescription</key>
  12. <string>App需要您的同意,才能访问位置</string>
  13. <!-- 在使用期间访问位置 -->
  14. <key>NSLocationWhenInUseUsageDescription</key>
  15. <string>App需要您的同意,才能在使用期间访问位置</string>
  16. <!-- 始终访问位置 -->
  17. <key>NSLocationAlwaysUsageDescription</key>
  18. <string>App需要您的同意,才能始终访问位置</string>
  19. <!-- 日历 -->
  20. <key>NSCalendarsUsageDescription</key>
  21. <string>App需要您的同意,才能访问日历</string>
  22. <!-- 提醒事项 -->
  23. <key>NSRemindersUsageDescription</key>
  24. <string>App需要您的同意,才能访问提醒事项</string>
  25. <!-- 运动与健身 -->
  26. <key>NSMotionUsageDescription</key> <string>App需要您的同意,才能访问运动与健身</string>
  27. <!-- 健康更新 -->
  28. <key>NSHealthUpdateUsageDescription</key>
  29. <string>App需要您的同意,才能访问健康更新 </string>
  30. <!-- 健康分享 -->
  31. <key>NSHealthShareUsageDescription</key>
  32. <string>App需要您的同意,才能访问健康分享</string>
  33. <!-- 蓝牙 -->
  34. <key>NSBluetoothPeripheralUsageDescription</key>
  35. <string>App需要您的同意,才能访问蓝牙</string>
  36. <!-- 媒体资料库 -->
  37. <key>NSAppleMusicUsageDescription</key>
  38. <string>App需要您的同意,才能访问媒体资料库</string>

如果不起作用,可以请求后台权限,类似于这样:

  1. <key>UIBackgroundModes</key>
  2. <array>
  3. <!-- 在这里写上你在后台模式下要使用权限对应的key -->
  4. <string>location</string>
  5. ...
  6. </array>

或者在Xcode里选中当前的target,选择Capabilities,找到Background Modes,打开它,在里面选择对应权限

Xcode8、 iOS10 适配问题的更多相关文章

  1. Xcode8 及iOS10适配问题汇总

    上点干货,目前得知的一些bug解决汇总:iOS10相册相机闪退bughttp://www.jianshu.com/p/5085430b029fiOS 10 因苹果健康导致闪退 crashhttp:// ...

  2. fir.im Weekly - 关于 iOS10 适配、开发、推送的一切

    "小程序"来了,微信变成名副其实的 Web OS,新一轮的Web App 与Native App争论四起.程序员对新技术永远保持灵敏的嗅觉和旺盛的好奇心,@李锦发整理了微信小程序资 ...

  3. iOS10适配——错误:Code=3000

    error : Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的权利字符串" UserIn ...

  4. iOS10 适配问题-Xcode8

    前段时间升级了Xcode8,整体来说对OC的影响不大,但是还是跳一个坑,消耗了不少时间.这里总结下遇到的适配问题. 1.权限问题 Xcode8 访问相机.相册等需要权限的地方崩溃 解决办法: 在使用私 ...

  5. iOS10 适配、Xcode8配置总结

    随着iOS10的推送更新到来,勤劳的程序员又在加班加点的搬砖了,为此收集了一些iOS10 更新的技能给大伙参考,不断更新喜欢就star 前沿 一.Xcode8 插件你去哪了 以为是和之前一样 Xcod ...

  6. iOS10适配及Xcode8配置

    一.证书管理 用Xcode8打开工程后,比较明显的就是下图了,这个是苹果的新特性,可以帮助我们自动管理证书.建议大家勾选这个Automatically manage signing(Ps.但是在bea ...

  7. iOS10适配相关

    2016年9月7日,苹果发布iOS 10.2016年9月14日,全新的操作系统iOS 10将正式上线. 作为开发者,如何适配iOS10呢? 1.Notification(通知) 自从Notificat ...

  8. xcode8+iOS10问题

    .xcode升级到8.0后打印的问题 ()xcode8会打印一些莫名其妙的log 解决方法:Scheme里面添加OS_ACTIVITY_MODE = disable ()xcode8打印log不完整 ...

  9. iOS10适配知识点

    http://ios.jobbole.com/89551/ http://ios.jobbole.com/88982/ 2.隐私数据访问问题 问题出现 现在app能运行了,当我打开相机时突然又cras ...

随机推荐

  1. [POI2008]KUP

    Description 给一个\(n\times n\)的地图,每个格子有一个价格,找一个矩形区域,使其价格总和位于[k,2k] Input 输入k n(n<2000)和一个\(n\times ...

  2. 前缀+排序 HDOJ 4311 Meeting point-1

    题目传送门 题意:给一些坐标轴上的点,选一个点,使得其他点到该点曼哈顿距离和最小 分析:这题有很强的技巧性,直接计算每个点的曼哈顿距离和是不可行的.这里用到了前缀的思想,先对点按照x从左到右排序,p[ ...

  3. Activity状态图、生命周期图(超详细),onSaveInstanceState只保存、恢复基本ui数据,持久数据不在这里保存。

    1.Activity状态图 2.Activity生命周期简图 启动Activity: onCreate()—>onStart()—>onResume(),Activity进入running ...

  4. scala学习笔记4:函数和闭包

    以下主要记录的是看完scala in programming这本书functions and closures(第八章)后的要点总结. 1,函数可以存在的地方:函数方法,嵌套函数. 2,关于funct ...

  5. 移动端如何定义字体font-family

    移动端如何定义字体font-family 中文字体使用系统默认即可,英文用Helvetica /* 移动端定义字体的代码 */ body{font-family:Helvetica;} 参考<移 ...

  6. 用C#操作word替换字符,用spire

    这两天想写个小程序,是用C#操作word文档的.许多人都对微软本身的解决方案COM组件十分不看好,比如需要本机安装office等等,总之吐槽很多,直接放弃. 搜到一个国产的npoi库,据说操作简单功能 ...

  7. SQL快速备份

    ALTER  PROCEDURE [dbo].[usp_Backup_DataBase]    (      @BackupDataBaseName VARCHAR(128)    )AS    BE ...

  8. git --删除文件、重命名

    修改最后一次提交 git commit --amend -m “” 删除文件:. git rm <需要删除的文件> 只是删除当前工作目录和暂存区的文件,也就是取消跟踪.在下次提交时不纳入版 ...

  9. elasticsearch学习笔记-倒排索引以及中文分词

    我们使用数据库的时候,如果查询条件太复杂,则会涉及到很多问题 1.无法维护,各种嵌套查询,各种复杂的查询,想要优化都无从下手 2.效率低下,一般语句复杂了之后,比如使用or,like %,,%查询之后 ...

  10. SQL 索引自动维护计划脚本

    脚本功能: 1,查询数据库中,碎片率在5%以上(官方推荐),有一定数据里的表的索引. 2.如果碎片率在5%<碎片率<=30%  执行重新组织索引.如果在30%以上,执行重建索引 建议在执行 ...