上周我花了几天的时间,把我的Swift代码迁移到了Swift 3上,包括我的开源项目和私人项目。总体来看,这次迁移的过程还算顺利,在刚刚完成迁移的时候,Xcode的迁移工具界面上显示了大量的变更和错误,在刚看到它们的那一刻,我还是感到了一些不知所措。
开源项目迁移策略
在迁移开源库的是,我使用的是下面这样的策略:
如下图所示:
o-----o develop (swift 2.2)
\
o-----o swift2.3
\
o-----o swift3.0
我的计划,是要让这些分支保持同步。也就是,swift2.3在develop之前,swift3.0在swift2.3之前。我的最终目标,是要在Xcode 8发布之后,将每一个分支上的变更汇总成一个commit,并将其提交给develop。
merge 2.3 merge 3.0
o------o o o-----------o develop
\ / /
o--- swift2.3 ---o /
\ /
o--- swift3.0 ---o
develop上的每一次合并,都会让库的版本号进行升级。例如,加入库当前的版本号为v2.0,那么Swift 2.3的合并,会让库的版本号变成v3.0
私人项目
在我的私人项目上,我采用的是直接升级到Swift 3.0的做法。我使用了 CocoaPods,因此我首先迁移了我的各种依赖。
截止到目前为止,我的这个项目的依赖只有我自己的库,因此在代码控制工作相对轻松。然而,如果你使用了第三方依赖,那么我推荐你和当前的维护者进行一些有关迁移的讨论。大多数主流的项目都在做着类似的事情,例如,AlamoFire就有swift2.3和swift3.0的分支。在需要的时候,你可以自己对第三方库进行fork和迁移——然后提交一个pull request或是使用你的fork,之后等待维护者为你提供解决方案。
在Xcode 8正式发布之前,你需要将你的pod指定给这些新的分支:
pod 'MyLibrary', :git => 'https://github.com/username/MyLibrary.git', :branch => ‘swift3.0'
在依赖和Podfile升级之后,你就可以运行pod update将每一个库都升级至Swift 3.0了。然后,你可以迁移你的主app。我建议你将所有迁移汇总成一个commit进行提交,从而维持迁移历史的简洁性。
Tips
Bugs
的迁移工具还不够完善。有的时候它会出现迁移失败的情况。当这种事情发生的时候,你可以尝试重新运行工具,如果还是不能解决问题,你最好的做法还是手动进行变更。以下是我在迁移过程中所遇到的一些问题:
总结
迁移Swift代码需要大量的时间。在迁移完成之后,你可能会看到大量的变更和错误,它们会让你感到不知所措。但是无论如何,最终你还是要进行迁移工作。在完成了所有工作之后,你会获得极大的成就感。
原文来自:SDK.cn
声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com
通过企业关键词查询企业涉讼详情,如裁判文书、开庭公告、执行公告、失信公告、案件流程等等。
IP反查域名是通过IP查询相关联的域名信息的功能,它提供IP地址历史上绑定过的域名信息。
结合权威身份认证的精准人脸风险查询服务,提升人脸应用及身份认证生态的安全性。人脸风险情报库,覆盖范围广、准确性高,数据权威可靠。
全国城市和站点空气质量查询,污染物浓度及空气质量分指数、空气质量指数、首要污染物及空气质量级别、健康指引及建议采取的措施等。
输入手机号和拦截等级,查看是否是风险号码