苹果在 WWDC 2020 上除了发布最新的 macOS Big Sur 之外,还宣布未来 Mac 将会采用基于 ARM 架构的自研芯片 Apple silicon。因此,苹果也推出了相应的集成开发环境 Xcode 12。

全新设计的 Xcode 12-冯金伟博客园

  Xcode 12 采用了全新的设计,外观方面保持与 macOS Big Sur 一致的风格。部分新变化包括:侧边导航栏的字体可自定义大小、精简的代码补全功能、新的文档标签页可更快打开多个文件,并支持在各自的标签页中打开界面文件、日志文件和项目文件,以及重新设计的 organizer。

全新设计的 Xcode 12-冯金伟博客园

全新设计的 Xcode 12-冯金伟博客园

全新设计的 Xcode 12-冯金伟博客园

全新设计的 Xcode 12-冯金伟博客园

  作为桥接新旧 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 代码可以继续运行,同时提供了更快的性能、更好的诊断和对新控件的访问。

全新设计的 Xcode 12-冯金伟博客园

  更多变化查看 https://developer.apple.com/xcode/whats-new/,目前 Xcode 12 的最新版本处于 Beta 阶段,详情查看发布说明。