蘋果在 WWDC 2020 上除了發布最新的 macOS Big Sur 之外,還宣布未來 Mac 將會采用基于 ARM 架構的自研芯片 Apple silicon。因此,蘋果也推出了相應的集成開發環境Xcode 12。
Xcode 12 采用了全新的設計,外觀方面保持與macOS Big Sur 一致的風格。部分新變化包括:側邊導航欄的字體可自定義大小、精簡的代碼補全功能、新的文檔標簽頁可更快打開多個文件,并支持在各自的標簽頁中打開界面文件、日志文件和項目文件,以及重新設計的 organizer。
作為橋接新舊 Mac 架構的角色,Xcode 12 默認構建 macOS 通用 app (Universal app),以支持搭載 Apple 芯片的新 Mac,該過程通常無需更改任何代碼。
事實上,Xcode 12 本身就是作為 Universal app 而構建,可以原生運行在 Intel x86_64 CPU 和基于 ARM 的 Apple 芯片上。Xcode 12 還提供了統一的 macOS SDK,其中包含所有框架、編譯器、調試器和其他工具,以幫助構建在 Apple 芯片和 Intel x86_64 CPU 上原生運行的應用程序。
當在 Xcode 12 中打開項目時,app 會自動更新,以生成作為 Universal app 的 release builds 和 archives。當構建 app 時,Xcode 會為蘋果芯片和 Intel x86_64 CPU 分別生成一個二進制文件,然后把兩者打包在一起,作為單個 app 發布或共享到 Mac App Store。開發者可以點擊工具欄中的 “Any Mac”選項來測試此項功能。在搭載蘋果芯片的新 Mac 上,開發者可以選擇工具欄上的 “My Mac (Rosetta)”選項,模擬原生基礎架構或是英特爾虛擬化,來執行并測試 app。
在 Xcode 12 中,蘋果還對用戶界面 UI 框架 SwiftUI 進行了改進,除了優化性能還增加了一些新特性。由于保持了穩定的 API,因此開發者可以輕松地將現有的 SwiftUI 代碼引入 Xcode 12。而針對使用 SwiftUI 構建的 app 的全新生命周期管理 API 讓開發者可以在 SwiftUI 中完整編寫 app,并在所有 Apple 平臺上共享更多代碼。
基于 SwiftUI 構建的全新小組件平臺讓開發者可以構建在 iPad、iPhone 和 Mac 上運行良好的小組件。SwiftUI 視圖現在支持與其他開發者共享,并作為一等 (first-class) 控件出現在 Xcode 庫中。現有的 SwiftUI 代碼可以繼續運行,同時提供了更快的性能、更好的診斷和對新控件的訪問。