Xcode8、 iOS10 适配问题
2024-08-25 08:57:32
调用相机、相册、麦克风、位置等隐私问题崩溃解决办法
你的项目中访问了隐私数据,比如:相机,相册,联系人等,在Xcode8中打开编译的话,统统会crash,控制台会输出下面这样的日志:
这是因为iOS对用户的安全和隐私的增强,在申请很多私有权限的时候都需要添加描述,但是,在使用Xcode 8之前的Xcode还是使用系统的权限通知框.
要想解决这个问题,只需要在info.plist
添加NSContactsUsageDescription
的key, value自己随意填写就可以,这里列举出对应的key(Source Code模式下):
<!-- 相册 -->
<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能访问相册</string>
<!-- 相机 -->
<key>NSCameraUsageDescription</key>
<string>App需要您的同意,才能访问相机</string>
<!-- 麦克风 -->
<key>NSMicrophoneUsageDescription</key>
<string>App需要您的同意,才能访问麦克风</string>
<!-- 位置 -->
<key>NSLocationUsageDescription</key>
<string>App需要您的同意,才能访问位置</string>
<!-- 在使用期间访问位置 -->
<key>NSLocationWhenInUseUsageDescription</key>
<string>App需要您的同意,才能在使用期间访问位置</string>
<!-- 始终访问位置 -->
<key>NSLocationAlwaysUsageDescription</key>
<string>App需要您的同意,才能始终访问位置</string>
<!-- 日历 -->
<key>NSCalendarsUsageDescription</key>
<string>App需要您的同意,才能访问日历</string>
<!-- 提醒事项 -->
<key>NSRemindersUsageDescription</key>
<string>App需要您的同意,才能访问提醒事项</string>
<!-- 运动与健身 -->
<key>NSMotionUsageDescription</key> <string>App需要您的同意,才能访问运动与健身</string>
<!-- 健康更新 -->
<key>NSHealthUpdateUsageDescription</key>
<string>App需要您的同意,才能访问健康更新 </string>
<!-- 健康分享 -->
<key>NSHealthShareUsageDescription</key>
<string>App需要您的同意,才能访问健康分享</string>
<!-- 蓝牙 -->
<key>NSBluetoothPeripheralUsageDescription</key>
<string>App需要您的同意,才能访问蓝牙</string>
<!-- 媒体资料库 -->
<key>NSAppleMusicUsageDescription</key>
<string>App需要您的同意,才能访问媒体资料库</string>
如果不起作用,可以请求后台权限,类似于这样:
<key>UIBackgroundModes</key>
<array>
<!-- 在这里写上你在后台模式下要使用权限对应的key -->
<string>location</string>
...
</array>
或者在Xcode里选中当前的target
,选择Capabilities
,找到Background Modes
,打开它,在里面选择对应权限
最新文章
- 【加精】手机话费充值API接口(PHP版)
- js树形控件—zTree使用总结
- mac中使用brew安装软件,下载太慢怎么办?
- Node + Express + Mysql的CMS小结
- 【原创】C#通用权限管理-程序安全检查,这些你一定要考虑到位
- [Android]ViewPager如何只初始化一个页面
- SilverLight自定义ImageButton
- 代码重构-2 简单不变的 if else 用字典代替
- VTK 6.3.0 Qt 5.4 MinGW 4.9.1 Configuration 配置
- 出现“不能执行已释放的Script代码”错误的原因及解决办法
- OA学习笔记-005-Spring2.5与struts2.1整合
- Android搜索框以及内容提供器
- Effective Python 中文版
- bugku 逆向 love
- 就算会用python画颗心,可你依然还是只单身狗
- JavaScript原型(第五天)
- jenkins maven git windows code 自动部署
- JavaScript高级程序设计学习(四)之引用类型(续)
- Coding Contest HDU - 5988(费用流)
- win7下出现读不到移动硬盘的解决办法
热门文章
- [POI2009]SLO
- synchronized(5)修饰语句块之:synchronized(XXX.class)
- WinForm 里面关闭窗体的两个方法的区别 Form.coles()与Application,Exit()
- AJPFX总结mysql复制表结构,表数据
- 免费大数据搜索引擎 xunsearch 实践
- com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field ";FileSize";
- 请大家帮我找一找bug —— 一个MySQL解析程序(JAVA实现)
- 重构29-Remove Middle Man(去掉中间人)
- php从mysql数据库中取数据
- mathAge.call(btn) 函数call 改变函数内 this #js