欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

更新了Xcode8 及 iOS10遇到的问题小结

程序员文章站 2023-12-19 20:06:52
更新了xcode8 以及 ios10,app访问用户的相机、相册、麦克风、通讯录的权限都需要重新进行相关的配置,不然在xcode8中打开编译的话会直接crash。 需要在...

更新了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遇到的问题小结,希望对大家有所帮助

上一篇:

下一篇: