转swift3.0,XCode8遇到的坑

由于项目是swift和oc混编,为了与时(zuo)俱进(si),我毅然决然的下了个Xcode8,开始转化工作,Xcode8支持swift2.3swift3,我哥毫无犹豫直接convert

总结

  • 首先只转自己的代码
  • 转第三方库上的代码

下面先说第三方库代码

建议用cocoapods来更新,当然,手动更新一样
比如我用到的一些第三方库的最新版(支持swift3)

 #更改的swift库(支持swift 3.0)
pod 'SwiftyJSON', '~> 3.0.0'
pod 'Alamofire', '~> 4.0.0'
pod 'IQKeyboardManagerSwift', '~> 4.0.6'
pod 'SnapKit', '~> 3.0.1'

Q:1.问题来了,怎么看哪个版本支持?
一般pod search 的版本都是最新的,注意阅读github上的README.md

Q:2.pod search到的库不是最新的?

执行 pod repo update更新本地仓库,本地仓库完成后,即可搜索到指定的第三方库

Q:3.更新了版本还抱第三方一大堆错误

打开TARGETS->Build setting->Swift Compiler - version,把Use legacy Swift Language Version改成 YES 或者 No
这里我遇到的问题是改了依旧报swift版本错误,有的人可以

所以我的解决办法是:

 #转swift 3.0配置swift库的swift version = 3.0
      post_install do |installer|
          installer.pods_project.targets.each do |target|
              target.build_configurations.each do |config|
                  config.build_settings['SWIFT_VERSION'] = '3.0'
              end
          end
      end

把上面copy到你的podfile文件去

自己代码转化中遇到的问题

基本上95%可以自动转化,4%手动转化,剩下的1%,没错还是要改写,因为有的代码手动转不了,得自己来重写

1.CGSizeMake -> CGSize

CGSize(width: width , height: height)

更多请参考:http://stackoverflow.com/questions/37946990/cgrectmake-cgpointmake-cgsizemake-cgrectzero-cgpointzero-is-unavailable-in

2.GCD 具体自己去 百度😂

3.警告⚠️,好多警告,如果报Missing File

1)打开终端
(2)输入以下命令

defaults write com.apple.finder AppleShowAllFiles YES

(3)重启finder

4.SnapKit

snp_top -> snp.top
snp_make->snp.make

这个匹配转化下

5.现在最蛋疼的返回值必须接受,否则警告
这个对轻微强迫症的我😂😂

6.极光头文件报错
//#define JPUSH_VERSION_NUMBER 2.1.9
我直接注释掉

7.想到了再更新--好多都忘记了哈哈

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,731评论 4 61
  • 从教学楼走下来,漫步在操场一侧。难得这样一个没有自习的傍晚,我可以放慢脚步,在风中,看天。 天黑漆漆的,没有星星。...
    眼里的湖阅读 4,959评论 50 7
  • 现在刷屏最火的不是鸡汤就是恶搞趣闻,看了一遍遍,会自我安慰一切都不算糟,一切都会好起来。打起鸡血一般投入新的生活中...
    苏穆凉阅读 3,362评论 0 1
  • 目标 儿子积极上进,身心健康,努力学习,考上她理想的高中。 自己身心健康,不看无聊的网页,不看没有意义的视频,不说...
    7f207b2df6aa阅读 1,211评论 1 2
  • Reverse Integer Question leetcode: Reverse Integer | Leet...
    Sidney001阅读 3,996评论 0 0

友情链接更多精彩内容