Xcode8/Swift3 入坑筆記

軒轅小羽發表於2016-09-18

前言

今天把公司專案的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…)

參考文章

相關文章