衡阳派盒市场营销有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>通訊/手機編程>

iOS系統Xcode9.0-beta與Swift4.0怎樣進行適配

大小:0.3 MB 人氣: 2017-09-25 需要積分:1

  適配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。

  iOS系統Xcode9.0-beta與Swift4.0怎樣進行適配

  最后,我在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%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      百家乐沙| 大发888bet娱乐城| 六合彩百家乐官网有什么平码| 威尼斯人娱乐官网| 百家乐视频游戏视频| 优博百家乐官网娱乐城| 顶级赌场手机版官方下载| 百家乐庄家必赢诀窍| 联合百家乐官网的玩法技巧和规则| 单张百家乐官网论坛| bet365手机| 至尊百家乐20| 网络百家乐的陷阱| 不夜城百家乐官网的玩法技巧和规则| 百家乐官网怎么玩高手| 爱赢娱乐城资讯网| 免费百家乐追号软件| 百家乐分析网| 凤凰百家乐娱乐城| 乐天堂百家乐官网娱乐平台| 百家乐官网视频百家乐官网| 盈禾体育| 太阳城在线娱乐城| 太子百家乐的玩法技巧和规则| 百家乐游戏程序下载| 百家乐官网备用网址| 缅甸百家乐官网娱乐| 百家乐官网游戏官网| 巴塘县| 做生意带什么招财| 百家乐官网老千| 百家乐官网娱乐网网77scs| 钱隆百家乐官网分析| 大玩家百家乐官网现金网| 六合彩公司| 盈禾娱乐城| 赌博娱乐城| 白朗县| 网上百家乐官网赌钱| 百家乐官网手机投注| 百家乐官网视频游戏视频|