更新了Xcode8 及 iOS10遇到的问题小结
更新了xcode8 以及 ios10,app访问用户的相机、相册、麦克风、通讯录的权限都需要重新进行相关的配置,不然在xcode8中打开编译的话会直接crash。
需要在info.plist中添加app需要的一些设备权限。
相机nscamerausagedescription
相册nsphotolibraryusagedescription
通讯录nscontactsusagedescription
始终访问位置nslocationalwaysusagedescription
位置nslocationusagedescription
在使用期间访问位置nslocationwheninuseusagedescription
麦克风nsmicrophoneusagedescription
访问蓝牙nsbluetoothperipheralusagedescription
访问日历nscalendarsusagedescription
访问媒体资料库nsapplemusicusagedescription
访问健康分享nshealthshareusagedescription
访问健康更新nshealthupdateusagedescription
访问运动与健身nsmotionusagedescription
访问提醒事项nsremindersusagedescription
提别提醒: 从2017年1月1日起,强制使用https,所有新提交的 app 默认不允许使用nsallowsarbitraryloads来绕过ats的限制 安全传输不再支持sslv3, 建议尽快停用sha1和3des算法.
下面贴出来错误:
q1: ios10相册相机闪退问题:
ios10系统下调用系统相册、相机功能,遇到闪退的情况,日志描述如下:
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文件下添加
相机权限 <key>nscamerausagedescription<key>
<string>cameradesciption<string>
相册权限 <key>nsphotolibraryusagedescription<key>
<string>photolibrarydesciption<string>
q2: ios 10 因苹果健康导致闪退
如果在app中调用了苹果健康,ios10中会出现闪退。控制台报出的原因是:terminating app due to uncaught exception 'nsinvalidargumentexception', reason: 'nshealthupdateusagedescription must be set in the app's info.plist in order to request write authorization.'
这是因为我们要在info.plist文件中声明苹果健康的使用权限,所以在info.plist中添加以下key就可以:
请求写入<key>nshealthupdateusagedescription<key>
<string>some string value stating the reason<string>
请求读取<key>nshealthshareusagedescription<key>
<string>some string value stating the reasonpaste_image.png<string>
q3: xcode 打印的那些杂乱无章的bug
更新xcode8之后,新建立工程,都会打印一堆莫名其妙看不懂的log.比如如这些
subsystem: com.apple.uikit, category: hideventfiltered, enable_level:0, persist_level:0, default_ttl:0, info_ttl:0, debug_ttl:0, generate_symptoms:0, enable_oversize:1,
屏蔽的方法如下:
xcode8里边 edit scheme->run-> arguments, 在environment variables里边添加
os_activity_mode = disable 就行,截图如下:(真的没有iphone4了)
弄完之后就可以像之前那样 正常打印了.
以上所述是小编给大家介绍的更新了xcode8 及 ios10遇到的问题小结,希望对大家有所帮助
推荐阅读
-
更新了Xcode8 及 iOS10遇到的问题小结
-
Xcode8下iOS10常见报错闪退,字体适配和编译不过的问题及解决方案
-
android studio 3.0 升级 项目遇到的问题及更改思路(问题小结)
-
spring boot实现上传图片并在页面上显示及遇到的问题小结
-
android studio 3.0 升级 项目遇到的问题及更改思路(问题小结)
-
CentOS 7下安装Python3.6 及遇到的问题小结
-
vs code连接sql server数据库步骤及遇到的问题小结
-
mysql5.7.24 解压版安装步骤及遇到的问题小结
-
SQL Server实时同步更新远程数据库遇到的问题小结
-
MySql 8.0.11 安装过程及 Navicat 链接时遇到的问题小结