前言
今天把公司專案的swift程式碼升級到Swift3,遇到了不少坑
現在總算能跑起來了..還有很多坑要踩... 這是改之前的慘狀:
發現一條寫一條,不定時更新
正題
選了Later之後還想呼叫系統的自動升級[Edit > Convert > To Current Swift Syntax…]
之前一個控制元件layoutIfNeed 會帶動它所約束的控制元件一起layout,現在只會單獨計算,想達到之前的效果只能整個父級控制元件呼叫layoutIfNeed方法了
swift取oc得NSDate回自動變成Data型別,一些操作NSDate的第三方庫(如:DateTools)會崩潰
block的形參要加 " _ " 方法的第一個引數前也要加形參名
flatmap和map會返回一個非陣列的型別,需要重新用一個返回[T]的方法重寫一遍..語法都沒有變,改了就好了
控制檯會輸出一大堆網路日誌,需要再Run里加一個OS_ACTIVITY_MODE = disable stackoverflow:stackoverflow.com/questions/3…
Swift呼叫OC物件屬性都自帶Optional了,使用的時候要拆包
升級Xcode之後想支援以前的外掛可以在
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
路徑下新增你現在的Xcode的UUID,檢視你Xcode的UUID/Applications/Xcode.app/Contents
- 上面方法還不行的看這個vongloo.me/2016/09/10/…
- Xcode8打包的時候需要在Plist裡為應用新增相應的許可權配置(使用Xcode8上傳成功後,商店裡構建版本卻沒 gold.xitu.io/entry/57e11…)
參考文章
- 如何向 Swift 3.0 進行資料遷移:gold.xitu.io/entry/57a30…
- 相容iOS 10 資料整理筆記:www.jianshu.com/p/0cc7aad63…