吴忠躺衫网络科技有限公司

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

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

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%

      發表評論

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

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

      ?
      红9百家乐的玩法技巧和规则 | 百家乐官网论坛白菜| 百家乐官网游戏机说明书| 百家乐官网做庄家必赢诀窍| 竞咪百家乐官网的玩法技巧和规则 | 国际环球娱乐| 乐百家百家乐官网游戏| 百家乐官网看| 百家乐注码投注论坛| 云鼎百家乐代理| 澳门足球博彩官网| 真人百家乐官网网站接口| 百家乐官网网页qq| 百合百家乐的玩法技巧和规则 | 百家乐官网路单生| 电子百家乐假在线哪| 棋牌游戏大厅| 百家乐官网技巧之微笑心法 | 新利娱乐网| 真人百家乐官网蓝盾娱乐网| 百家乐编单短信接收| 大发888 casino| 百家乐官网稳赢玩法| 网上百家乐官网真钱游戏| 同花顺百家乐娱乐城| 澳门百家乐官网死局| 豪华百家乐官网桌子| 百家乐搏牌| 新利国际| 中国百家乐官网的玩法技巧和规则| 百家乐讯特| 大发8888娱乐城 真钱| 百家乐官网网站新全讯网| 百家乐现金平台排名| bet365 备用网址| 赌场百家乐官网是如何| 大世界百家乐的玩法技巧和规则| 惠安县| 百家乐里面的奥妙| 亿酷棋牌世界| 玩百家乐官网的玩法技巧和规则 |