Xcode 8 的 6 大新功能一覽

2016-07-12    分類:iOS開發、推薦閱讀、程式設計開發、首頁精華0人評論發表於2016-07-12

本文由碼農網 – 豆照建原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

在2016 蘋果全球開發者大會(WWDC)期間, 蘋果一如既往地給開發者們披露了新版的整合開發工具 – Xcode, 在過去的每一次大版本釋出中,蘋果都會積極地改進開發工具,新增一些極具吸引力的新功能,今年也不例外。

1. Swift 2 and 3

過去每一版的Xcode 都和固定版本的Swift程式語言繫結在一起, Xcode 8中將不再如此,Swift 3給 Swift程式語言帶來大量的語法變化,這些改變會讓基於以前Swift版本的程式編譯失敗。

Xcode 8 中新建立的專案預設地使用Swift 3, 幸運地Xcode 8 在編譯設定中支援開發者明確地選擇Swift 2或Swift 2.3 進行編譯。

 支援Swift語言以往版本

這就是說你可以選擇適合的時候遷移專案到Swift 3, 如果一個目標(Target)需要支援Swift 2.3, 需要在目標(Target)的編譯設定裡把Use Legacy Swift Language Version 設定成Yes

Xcode 8 也提供了遷移工具幫你把專案升級到Swift 3, 不過Xcode提供的遷移工具讓人喜憂參半,這次Swift 3 升級比上次升級有太多的變化,希望Xcode 8 的遷移工具會有所改善吧。

2. 原始碼編輯器擴充套件

Xcode 8 最讓人驚喜的是支援原始碼編輯器第三方擴充套件,開發者對於本地外掛系統已經翹首企盼了很多年,原始碼編輯器擴充套件算是沿著外掛系統方向邁出堅實的第一步吧。

原始碼編輯器擴充套件很類似於Xcode的擴充套件,但蘋果一再強調當前的擴充套件專注於原始碼的操作和導航,也就是為什麼會叫做原始碼編輯器擴充套件,Xcode 8 甚至提供了編輯器擴充套件模板讓你快速上手。

 Xcode 原始碼編輯器擴充套件模板

對於當前擴充套件架構中我最喜歡的一點就是每個擴充套件都執行在不同的程式中,這就意味著擴充套件的異常崩潰不會引起Xcode的意外終止,隨著本地外掛的越來越多,特別是蘋果釋出了新版的Xcode, 分程式執行的優勢會顯得越來越突出。

擴充套件對比外掛另一個優點是安全,你可以通過開發賬號登入和釋出擴充套件程式,蘋果也提到開發者可以通過Mac 應用商店銷售擴充套件,對於想通過銷售擴充套件賺錢的開發者來說是很不錯機會。

我對於原始碼編輯器擴充套件是非常興奮的,雖然我是 Alcatraz 的粉絲,但蘋果的本地擴充套件更貼近於未來正確的方向。非常期待開發者們未來會提供什麼樣的擴充套件,其實已經有人在GitHub 上釋出了外掛。

3. 除錯

即使最好的開發者每天都要花費大量的時間進行除錯程式,懂你的蘋果提供了更好的工具讓除錯更簡單,Xcode 8中針對除錯做了不少顯著的優化。

介面除錯

Xcode 8中的介面除錯非常強大,介面除錯可以展示執行時(runtime)問題,改善後的介面除錯對於除錯不清晰或者不滿意的佈局變得更加簡單。

執行時問題?沒錯,Xcode 8中除了編譯時問題還提供了執行時問題,如果在執行時遇到自動佈局的問題,Xcode會在左面導航皮膚把這些問題展示為執行時問題,這將會是個非常受歡迎的功能。

 執行時問題

記憶體除錯

Xcode 8 的記憶體除錯功能針對查詢記憶體洩漏和迴圈引用的問題也做了顯著優化,我還不太確定在實際專案中效果如果,但看起來很棒。

 記憶體除錯

4. 程式碼簽名

程式碼簽名對於那些對蘋果平臺有興趣開發者來說是非常不幸的,但幸運的是蘋果沒有做把頭埋在沙子裡的鴕鳥,蘋果看到了開發者們遇到的問題並嘗試解決,一些經驗非常豐富的開發者也會不時遇到簽名的問題,在今年的 Platforms State of the Union視訊中, 蘋果甚至自嘲自己的 修復問題(Fix Issue) 按鈕,不僅很少時候能修復真正的問題,有時候會把問題弄得更糟。

修復問題(Fix Issue) 按鈕通常不能修復問題

程式碼簽名問題在Xcode 8 中將成為過去式,對於每一個目標(Target), 你可以勾選核取方塊讓Xcode幫你管理程式碼簽名,這個選項對於新專案預設是勾選的。在勾選的情況下,Xcode幫你管理證書,配置檔案 和 應用標示等。

 Code Signing Done for You

希望蘋果這次能解決簽名問題,數以萬記的開發者們和我一起祈禱吧。

5. 其他改善和增強

San Francisco Mono字型

如果你非常享受使用精雕細琢的軟體,你應該會很喜歡Xcode 8中的San Francisco Mono 字型,請參看下圖:

 San Francisco Mono

高亮當前行

你有沒有注意到上面截圖中的當前行被標示為高亮? 這是Xcode8中另一個受歡迎的功能,當前我在Xcode 7 中使用 Backlight for Xcode 實現類似功能,在Xcode 8 中將不再需要這個外掛了。

圖片程式碼自動完成

說到一些將被廢棄的外掛, 目前我在使用 Kent Sutherland開發的外掛 KSImageNamed 能夠在Xcode中幫助圖片程式碼自動完成, 在Xcode 8 我將不需要這個外掛,因為這個功能已經內建在Xcode 8 中。

 圖片自動完成

6. 文件

相信每個開發者都會在瀏覽和閱讀文件上會花費很多時間,好的文件對於開發者有很大幫助,其實蘋果的文件是非常優秀的,但提供的瀏覽方式卻沒有那麼友好。

這個問題在 Xcode 8 將會被解決,新的文件格式看起來漂亮極了,且文件瀏覽會變得簡單和快捷。蘋果也針對記憶體問題做了相關優化,新版的記憶體佔用會少很多。

下面是兩張關於文件的截圖,是不是極有設計感?

 新文件瀏覽器圖1

 新文件瀏覽器圖2

總結

最後想說我這篇文章只是覆蓋了Xcode新功能的一部分,對於Xcode的大版本升級我總是很期待的。 哪一個是你最喜歡的Xcode 8中的新功能? 在評論區不吝分享吧。

譯文連結:http://www.codeceo.com/article/xcode-8-new-feature.html
英文原文:What's New in Xcode 8
翻譯作者:碼農網 – 豆照建
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章