关于更新到Xcode8的一些问题

Posted 高晓牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于更新到Xcode8的一些问题相关的知识,希望对你有一定的参考价值。

随着ios 10的陆续使用,升级到xcode8也是大势所趋.

虽然现在xcode 8 可能还有一些问题,但是整体还是不错的,对一些常用的插件也做了集成,比如说 ///注释快捷键

下面说一下我遇到的一些问题:

 

问题一:swift的更新

  因为swift3有了较大更新,所以如果原项目中有涉及到swift的话需要转换一下,比如说我的项目中有一个socket.io 第三方类库,升级到xcode8后因为swift的原因总是报错.

解决方法:首先需要看一下该swift库是否已经有了swift3的版本,有的话则更新到最新版,即将旧文件进行替换,替换成最新的swift文件.当替换完成编译的时候会报一个错误:"Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be config********":

技术分享

这个时候需要转换一下swift版本,根据上面的路径可以进行转换,操作如下:

首先将swift language verson属性值设为NO

技术分享

然后根据上面报错的那个路径,即(edit->convert->to current....)进行转化,这里没有截图

技术分享

转换的时候可以选择2.3或者3.0  可以根据实际情况选择

上述步骤完成后,swift的转换基本就已经完成了,再次编译运行应该就ok了.

但是可能有部分方法名会有变动,所以要注意及时更改新方法.

 

问题二:Unable to read from device  不能连接到模拟器

或者技术分享

解决方法:在stackover上有一个比较好的解决方法,虽然我也不知道为什么这样做就可以,但是可以试一下:

技术分享

1.在xcode中打开项目

2.运行时选择你的设备

3.在这个路径下删除这个文件(我是删除的10.0.1这个文件  没有全删)

4.拔掉你设备的连接线

5.重启你的设备

6.插上你的设备

7.重新运行

 

问题三:不能在真机上运行  报错:dyld_shared_cache_extract_dylibs failed

技术分享

 

解决方法: 我个人认为这可能是因为xcode8的兼容性有点小问题,不能识别部分设备.解决方法就是找一个你设备的包导入到

/Library/Developer/Xcode/iOS\ DeviceSupport目录下

技术分享

上图红框及时我设备的系统版本号 (提取码:496b)

 

 

以上是我在升级到xcode8遇到的一些问题  

 

以上是关于关于更新到Xcode8的一些问题的主要内容,如果未能解决你的问题,请参考以下文章

XCode8:UIStoryboard 更新到最新布局

Xcode 8 - 删除了一些按钮边框

Xcode8之后 XMPP 重定义问题 Redefinition of module 'dnssd'

Swift 3.1 的一些新特性

兼容iOS 10 ,升级xcode8出的一堆问题的解决方案,以及一些适配.

Xcode 8.0 NSManagedObject 子类模板在哪里