iOS系统Xcode9.0-beta与Swift4.0怎样进行适配
适配Xcode9.0-beta与Swift4.02017-06-13 11:30 适配Xcode9.0-beta与Swift4.0
原文地址:http://blog.jiar.vip/2017/06/09/%E9%80%82%E9%85%8DXcode9-0-beta%E4%B8%8ESwift4.0/
简书地址:http://www.jianshu.com/p/1f702d59e54b
您可以通过保留原文地址或者简书地址的方式进行转载。
这几天苹果在开WWDC2017大会,期间放出了Xcode9.0-beta以及Swift4。为了响应苹果爸爸的号召,我果断下载了Xcode9.0-beta,并在项目中拉出了新的分支,准备搞事。
如何适配
Xcode9.0-beta内置的Swift版本不止一个,它同时支持Swift4.0和Swift3.2。而我们正在用的Xcode8,最高只支持Swift3.1。基于这个事实,我先拉一个Xcode9.0-beta-Swift3.2的分支,待适配好Swift3.2后,再起分支Xcode9.0-beta-Swift4.0去支持Swift4.0。
适配Swift3.2
首先,对于Swift3.2,我的理解是:既然版本命名为3.2,那么应该只是基于3.1版本上的微调(我去查Swift,查到更多的是关于Swift4.0方面的信息)。适配Swift3.2的过程中,我的项目代码不需要任何改动,唯一出问题的是一个第三方库:Eureka,报错的原因是Collection协议的sub返回值从Array变成了ArraySlice,关于这个问题,已有人在Eureka的issues中提出(#1082)。随后有人commit修复了这个问题,并开出新分支来适配Swift3.2。
最后,我在Podfile中修改pod ‘Eureka’为pod ‘Eureka’, :git =》 ‘https://github.com/xmartlabs/Eureka.git’, :branch =》 ‘swift3.2’,完成了适配Swift3.2。
由此可见,适配Swift3.2几乎是没有什么压力的,我也就看到Collection协议的sub返回值变动这个情况。
适配Swift4.0
并不是所有库都能做到及时支持Swift4.0,更何况是在现在连Xcode9也还是beta的状态,所以我们仅能做到将自己的业务代码(主工程代码)部分升级到Swift4.0,然后同时保留各种pod库在Swift3.2版本。没办法,谁叫Swift4.0也还无法做到ABI兼容呢(但愿能在Swift5之前实现吧)。至于我说的同时使用两个版本的Swift,这是没问题的,Xcode9支持在项目中同时使用Swift3.2和Swift4.0。
具体要怎么做呢?(修改Swift版本)
第一步,如下图指定主工程的Swift版本为4.0
非常好我支持^.^
(0) 0%
不好我反对
(0) 0%
下载地址
iOS系统Xcode9.0-beta与Swift4.0怎样进行适配下载
相关电子资料下载
- 拿下国家级信创认证!中科驭数KPU SWIFT-2200N成为国内首款满足金融业严苛要求的 163
- 中科驭数基于DPU的思威SWIFT系列智能网卡与统信软件产品完成适配 176
- 如何使用Swift提高代码质量 126
- 积木易搭Magic Swift Plus为雕刻工艺品精雕复刻提供三维数字化解决方案 274
- 词法分析-Antlr-1 235
- Kotlin 1.8.0发布,改进性能和Swift的互操作性 1044
- Swift 2023:强调并发、泛型和C++互操作性,开发Swift解析器 300
- Xcode弃用Bitcode,导致应用体积大幅增加 222
- 彩色套件创建全彩3D模型MagicSwiftPlus仅千元级 432
- Swift的使用体验与生态发展之路 981