今晚月色真美

前言

前段时间用Object-C正在开发一个项目,开发了差不多百分之七八十了,客户通知要求改成Swift语言开发(因为他只会Swift),好吧,一个项目用Swift来写其实也无可厚非,但是这个项目中途来换,可想而知是多么痛苦的事,已经写了好多个OC类。

步骤

调研

之前一开始也在网上找了很多资料,有OC与Swift对应功能的语法解说,也有贴代码用工具直接转的,用过iSwift,但不是很好用,识别率不高,正确率不高。

这些都感觉比较费时(客户只给了一周的时间),然后就在想,有没有一个是直接可以转工程的工具呢?别说,强大的google还真搜出来了,这个软件可以直接转换工程。

实施

这个软件叫什么名呢,也不卖关子了,是一个在线转换的网站:

OC2Swift

它是提供少量代码免费转换,大家可转换自己的部分代码看看正确性,还可以在线输出Swift代码结果,它可以单文件、文件夹或工程打包在线转换。

不过呢,好的软件都是收费的,具体资费我就不说了(避免托的嫌疑,有需要的上官网自己看吧),对于转换的成本来说这个价格很便宜了。

结果

注意点

    1. 给大家一个建议,这个购买后使用有流量限制,建议打包的时候把静态库、framwork、SDK、第三方库等相关的剔除后打包上传,转换成功后再放置到对应路径下。
    1. 原OC代码留存(原因见下面)。

问题

这个工程转换成功后,使用起来就没有一点问题了吗?

错错错,当初我记得一开始报错不怎么多几十个吧,关键改完后,不断的重编译就暴露更多的错,这样下来估计也改了有几百个错了。

是什么类型的错误

    1. 很多都是语法的错误,而Xcode有提示修正的方法,直接鼠标点点点就改好了,比较轻松。
    1. 有些是语法不识别的问题,这个就需要自己查资料对应OC代码寻找对应的Swift代码了,所以要留存原OC代码。
    1. 有些工程设置的地方报错,但是这个很少,就几处,百度google就能解决。

最后

然后,到了这一步,以为万事大吉了吗?哈哈,并没有,有些地方转换虽说没报错,但可能会转错意,需要整体流程跑下,最好找测试再过遍流程,切记。

PS:有些OC库实在没办法转的,就采取桥接的方式使用吧。

总结

总体来说,这次的转换是很成功的,原本估时为一周,但是实际2~3天就完成了转换,比较高效率,所以建议大家转换Swift可采取这种方式。

比较遗憾的是,当时时间比较赶,没来得及截图留存给大家,如果觉得文章上有什么疑问,或者实际实践过程中遇到什么问题,欢迎大家在下方留言告诉我,我会第一时间回复你。

 评论

本站总字数统计:49.8k

感谢您的浏览, 本站总访问量为 次 。
载入天数...载入时分秒...