关于更新到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之后 XMPP 重定义问题 Redefinition of module 'dnssd'