Xcode 9有什么新功能?
今年的WWDC公告重點關注令人興奮的新SDK(例如ARKit)以及對iOS 11的更改。但是,Apple還通過Xcode 9對Xcode進行了重大改進。 Xcode的新版本不會被其他公告所震撼,它是編碼人員的飛躍。 開發人員一定會感到高興!
今年的改進包括:
- 更新了對Swift 4的支持,包括對Swift 4.0和3.2的并行支持
- 從索引到重構工具,Xcode Project Navigator和Editor的速度得到了極大的提高
- 完全重建的源代碼管理(SCM)組件,具有無縫的Git和GitHub集成
- 能夠運行多個并行模擬器,以及在iPhone和Apple TV等物理設備上進行無線調試的功能
- 一個新的Main Thread Checker工具,以確保UIKit和AppKit線程合規性
- 改進了UI組件的Interface Builder呈現。
當然,這是一個非常令人興奮的更改列表,所以讓我們從Swift 4開始逐一進行。
支持Swift 4
Swift逐年穩步發展,今年Xcode支持最新的主要Swift版本Swift 4 。 盡管最新的開源迭代沒有以前的版本那么大,但是Xcode 9使該過程更加便捷。
對于初學者來說,Xcode 9現在支持同時編譯Swift 4.0和Swift 3.2目標的能力,這意味著作為開發人員,您可以選擇逐漸遷移項目,而不是一次遷移所有項目,并且可以用任一版本編寫項目目標最新或先前的語言版本。
Xcode 9的編譯器可以理解這兩個版本,并且現在可以通過Xcode Migration Assistant要求用戶選擇要遷移到4.0版的目標。
實際上,Xcode 9通過“ 編輯器”>“驗證”菜單選項來評估您的代碼并提供有關項目現代化合規性狀態和最佳實踐的見解。
項目導航器和編輯器的改進
接下來,Xcode 9對IDE本身進行了一些必要的改進,特別是對Project Navigator和Source Editor組件的改進,從更快的索引引擎開始,該索引引擎增強了您搜索和更快返回結果的能力。
開發人員可以搜索大型代碼庫并立即獲得結果,因為索引引擎現在還可以在編譯文件時對文件進行索引,而以前處于編譯狀態的文件無需進行索引。 這使開發人員能夠快速無縫地在鏈接的項目和庫之間跳轉和搜索文件,這是一個可喜的收益,特別是當您使用CocoaPods和多項目工作區時。
如Apple所說,編輯器本身也已經過重建,從而實現了“一種基于結構的快速編輯器,可讓您智能地突出顯示和導航代碼”。 這意味著一個新的突出顯示引擎,它可以更好地識別按邏輯分組的塊,并為您提供用于在代碼庫的相關部分之間導航的智能工具。
重構
除了允許開發人員輕松地在類之間或方法之間進行導航之外,Xcode還提供了全新的重構功能。 重構工具提供了一個模式編輯器窗格,用于在提取和重構Swift方法時比較所有可能的更改。 即使在Swift和Objective-C方法之間,這也使重構變得容易。
現在,您只需單擊一下,就可以更新符號,修改getter和setter,合成iVar以及自動填充強制性協議方法以實現一致性。
降價編輯
其他較小的改進包括在編輯器中對Markdown文件的本地支持(使用Markdown樣式呈現)。 考慮到Xcode與GitHub的更深層次的集成,這一改進是有意義的,并且能夠在編輯器中更直觀地訪問README.md文件是有幫助的。
斯威夫特游樂場
Xcode 9還提供了新的iOS Playground模板,您不僅可以在Xcode中進行測試,還可以在iPad上的Swift Playgrounds中進行測試!
其他小型編輯器改進
同樣,這是一個很小的改進,但是編輯器現在允許用戶使用符合macOS的? +或來增加或減小編輯器字體大小。 ? -快捷方式。
另一個小改進是在Project Navigator中創建,重命名和刪除組。 現在,對組進行的更改將反映在關聯的文件夾中,從而確保命名的一致性,并消除了許多開發人員對Xcode如何處理文件系統文件夾的煩惱。
最后,對Xcode資產目錄的改進增加了對iOS 11中新的HEIF圖像開放標準的支持。
源代碼管理管理改進
Xcode最顯著的改進之一是集成的源代碼管理管理,到目前為止,它一直被忽略。 Xcode 9取代了以前從未真正成為Xcode一部分的半裸SCM,現在包括一個經過全面改進的SCM集成。
通過更加無縫集成的新型SCM導航器,您還將獲得使用分支和標簽的更強大方法。 不僅如此,Xcode現在還具有與GitHub的深度集成,可讓您直接從Xcode偏好設置管理帳戶,單擊即可創建GitHub存儲庫,并在編輯器中瀏覽公共存儲庫。
調試和模擬器改進
順帶一提,調試在Xcode 9中也引起了很多關注。 我們將從研究Xcode Simulator中的新功能開始。
Xcode模擬器
以前,啟動Xcode Simulator時,一次只能啟動一個Simulator。 因此,如果必須在多種設備類型上進行測試,則必須依次運行每種設備。 無論是手動還是自動測試,這都會使測試變慢。
這在Xcode 9中已發生了變化。開發人員可以首次同時運行多個模擬器,而自動化測試工具現在可以并行運行測試。
蘋果公司已經對Simulator進行了一些其他小的但有用的調整。 一種是您可以按住Option鍵關閉“模擬器”窗口,但仍使其在后臺運行。 您也可以從命令行啟動Simulator,這對于自動測試和交付工具很有用。
除了截圖外,開發人員還可以錄制模擬器的視頻,這對于App Store發布非常有用。
最后但并非最不重要的一點是,從Simulator畢業到在真實設備上進行測試的開發人員不再需要物理上插入其設備。 Apple現在允許開發人員切斷電源,并通過一種稱為“網絡調試”的功能來無線調試iOS和Apple TV設備。
主線程檢查器
蘋果公司已經與Xcode 9一起引入了一個新的獨立調試實用程序,即Main Thread Checker,它可以從后臺線程檢測AppKit和UIKit等著名SDK的不合規用法。 例如,開發人員可能在后臺線程中使用UITableView操作,這可能導致奇怪的視覺效果和錯誤的更新。 主線程檢查器默認情況下處于啟用狀態,并且可以通過方案編輯器進行配置。
內置Xcode服務器
Xcode 9現在具有內置和標準的Xcode Server機器人,從而使開發人員無需安裝macOS Server。 這意味著開發人員可以在任何計算機上運行Xcode Server機器人并利用持續集成的最佳實踐。
界面生成器的改進
多年來,隨著屏幕渲染的不斷改進,開發人員已經看到Interface Builder(IB)的逐漸變化和改進。 Xcode 9通過更精確地在畫布上呈現UI組件來繼續完善IB。 改進的組件包括“導航”,“選項卡”和“工具欄”。
另一個新功能是,當視圖約束可能會導致本地化問題時,Xcode和IB現在將警告開發人員。 例如,當視圖更改可能導致其他語言(例如德語)的單詞被截斷或剪切時,您會收到警報。 對于支持多種語言的開發人員來說,這無疑將節省大量時間。
說到布局,Interface Builder現在還支持“自動布局”安全區域指南,這些指南可幫助開發人員安排UI元素。 這不推薦使用Xcode早期版本中的頂部和底部布局指南。
結論
最新版本的Xcode提供了許多新功能,這些新功能將提高開發人員的工作效率。 隨著Swift 4的發布,Xcode使從Swift 3.2到最新版本的遷移更加可口,這歸功于它對逐步遷移的支持。 Xcode還獲得了及時而顯著的搜索索引速度改進,以及完全重建的,具有上下文相關性的編輯器,并提供了對重構的新支持。
現在,SCM已成為一流的公民,這意味著開發人員不再需要為滿足git管理的需要而在Xcode和第三方SCM編輯器之間切換。 該模擬器得益于一些最顯著的改進,它具有運行多個并發模擬器以更快地在多個設備上進行測試的能力,以及能夠在物理設備上無線斷開和調試的便利。
翻譯自: https://code.tutsplus.com/articles/whats-new-in-xcode-9--cms-29654
總結
以上是生活随笔為你收集整理的Xcode 9有什么新功能?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谈谈JAVA中的安全发布
- 下一篇: 保护可执行程序的一种方法