Xcode 的新功能

了解 Xcode 中提供的主要功能。Xcode 是一个集成开发环境,用于为 Mac、iPhone、iPad、Apple WatchApple TV 构建 app。要详细了解最新发布版本 (包括每个 beta 版本) 中的更新,请参阅“Xcode 发布说明 (英文)”。

Xcode 12

Xcode 12 包含 Swift 5.3 以及适用于 iOS 14、iPadOS 14、Apple tvOS 14、watchOS 7macOS Big Sur 的 SDK。

通用 app

  • 单个 macOS 通用 app 包括可在采用 Intel 芯片的 Mac 以及搭载 Apple 芯片的 Mac 上使用的原生二进制文件
  • 点按工具栏中的“Any Mac”(任意 Mac) 即可构建通用 app,即使在采用 Intel 芯片的 Mac 上也可以
  • 标准架构默认采用通用 app 构建设置,如果需要,Xcode 会提示您升级项目
  • 从 Universal App Quick Start Program 的 Developer Transition Kit (DTK) 上选择“My Mac (Rosetta)”(我的 Mac (Rosetta)),在通用 app 中运行和调试 Intel 二进制文件

备注:Xcode 12.2 添加了对 macOS Big Sur 和通用 app 的支持。

针对 macOS Big Sur 优化了用户界面

  • 文档标签可以在轻量级编辑器标签中打开任何类型的文档,包括日志、素材目录和用户界面文件
  • 工具栏、图标和边栏的设计与 macOS Big Sur 美观的新界面相得益彰
  • 导航器字体可跟随系统设置的大小,也可以手动设置为自定义大小
  • Organizer 采用全新设计,可在报告中显示新的 app 指标,如动画和滚动故障

Swift 和 SwiftUI

  • SwiftUI 支持整个 app 生命周期,因此,您可以在 SwiftUI 中为 iOS、iPadOS 和 macOS 编写完整 app
  • WidgetKit 是在 SwiftUI 上构建的,因此您可以轻松共享在 iOS、iPadOS 和 macOS 上运行的小组件代码
  • SwiftUI 的性能得到了全面提升,新的惰性视图可高效处理大量数据集
  • 多平台模板让您可以在所有 Apple 平台上轻松共享为各个平台量身打造的 SwiftUI 代码
  • SwiftUI 视图可以转换为可重用组件,这些组件将显示在 Xcode 库和代码补全中
  • Swift Package Manager 支持资源和本地化,因此是共享 SwiftUI 组件的理想选择
  • 改进后的 Swift 语言诊断功能可帮助您更轻松地了解编码错误,特别是在 SwiftUI 代码中

Mac Catalyst

  • Mac 的习惯做法是以 100% 原生 Mac 尺寸和比例显示 app 的用户界面,以便全方位自定义
  • 额外提供其他框架和控件,包括 HomeKit 和 AVCapture
  • 键盘 API 和操作系统集成让您能够更轻松地使用键盘来完全控制 app
  • 使用 Mac Catalyst 构建的 app 将自动沿用 macOS Big Sur 的全新外观和风格

其他改进

  • 轻 App 目标能有针对性地呈现 app 中可快速启动的一小部分体验
  • StoreKit 测试框架和事务管理器让您可以轻松测试和调试 App 内购买项目

Xcode 11

Xcode 11 包含 Swift 5.1 以及适用于 iOS 13、Apple tvOS 13、watchOS 6macOS Catalina 10.15 的 SDK。

这一版本增加了许多功能,让您的 app 了在更多 Apple 平台上运行。SwiftUI 是一种创新的新用户界面框架,采用易于阅读、便于编写的声明式 Swift 语法。实用的新预览工具让您可以手动输入 SwiftUI 代码,或者使用丰富的设计工具修改用户界面,让代码和设计始终保持同步。在现有 iPad app 的项目设置中选择“Mac”复选框,为您的 Mac app 抢占先机。另外,Xcode 11 支持 Swift 软件包,因此您可以在所有 app 之间共享代码,或者利用由社区创建的软件包。

SwiftUI

Xcode 11 包含 SwiftUI,这是一个新的 Swift 框架并随附设计工具,为构建用户界面提供了一种全新的方法。Xcode 中的设计工具让您只需通过拖放即可构建或编辑您的界面,同时您也可以立即手动编辑同一个 Swift 代码文件。Xcode 会以实时方式持续运行您的实际 app 界面,以便直接在设计画布上显示 app 的运行情况,您也可以在连接的设备上即时预览您的 app。

SwiftUI 包括:

  • 设计工具读取和写入您为单一数据源手动编辑的相同代码
  • 声明式语法将用户界面定义为易于阅读的 Swift 代码
  • 动画是使用简单的命令构建的,这些命令描述了您想要看到的操作
  • 通过控件和修饰符库可以轻松设计和构建复杂界面
  • 在所有 Apple 平台上共享常见用户界面代码,并为每个操作系统添加自定义体验
  • 预览功能可针对不同设备类型和辅助功能设置显示精确的呈现效果
  • 在设计画布中或连接的设备上与界面实时交互
  • 将编辑内容热切换到 app 的实时视图,以便即时查看更改并与之交互

SwiftUI 需要使用 iOS 13、watchOS 6、Apple tvOS 13macOS Catalina。要使用 SwiftUI 设计画布,必须在 macOS Catalina 上运行 Xcode 11。

将您的 iPad App 引入 Mac

要将现有 iPad app 提供给数百万 Mac 用户,操作起来非常简单。当您点按单个复选框时,Xcode 可以将您的 iPad app 转换为运行良好的真正原生 Mac app。

  • 点按 iPad 项目中的复选框会添加一个使用 macOS SDK 构建的原生 Mac app
  • 为 iPhone、iPad 和 Mac 版本的 app 使用同一代码库,并为 Mac 定制 app 的部分内容
  • 将新的 SwiftUI 代码添加到现有的共享 UIKit 代码中
  • 直接从 Xcode 提交到 Mac App Store,或进行公证以供外部分发

Swift 和 Swift 软件包

  • 整个 Xcode 工作流程 (包括构建、调试、SCM 等) 都支持 Swift 软件包
  • 轻松使用在 GitHub、Bitbucket、GitLab 或您自己的主机上发布的 Swift 软件包
  • Xcode 根据依赖性分析自动检索和管理软件包
  • 创建自己的软件包,以便在自己的 app 之间共享代码,或者发布到社区

iOS 深色模式

  • 开发和调试过程中,在浅色和深色模式之间即时切换
  • 通过素材目录可以轻松控制图像和颜色的深色与浅色模式

编辑器

  • 编辑器迷你地图提供了代码的鸟瞰图,因此您可以快速跳转到任何部分
  • 每个编辑器视图或标签都有自己的预览、助理或其他补充视图
  • 拆分任何编辑器面板,完全按照您的需要来对工作区进行布局

Xcode 11 中的其他改进

  • 构建单独的 watchOS app 时,可获得更快的调试体验
  • 模拟器启动速度更快,并使用 GPU 加速 Metal 代码
  • 测试计划让您可以通过可共享的结果套装更好地控制测试集
  • 将用户界面测试作为测试计划的一部分,自动生成本地化的截屏
  • 源代码控制增加了对隐藏和择优挑选操作的支持
  • 在模拟设备条件 (比如网络速度缓慢或过热警告) 下调试您的 app
  • Organizer 中的“Metrics”(指标) 标签将显示您的 app 在客户设备上的运行效率

Xcode 10.2.1

Xcode 10.2 包含 Swift 5 以及适用于 iOS 12.2、Apple tvOS 12.2、watchOS 5.2macOS Mojave 10.14.4 的 SDK。

Swift 5

  • 最新 Apple 平台版本随附了 Swift 5 运行时,作为操作系统的一部分
  • App Store 缩短了 app 的 Swift 运行时,这样一来,如果用户设备运行的是最新的操作系统,app 下载速度就会变快
  • 标准库中内置了 SIMD 矢量类型
  • 字符串字面量采用增强的语法,使其更易于读写
  • 新的结果枚举类型让开发者能够更轻松地跨异步操作处理错误

Xcode 的其他增强功能

  • 调试器控制台有一个新的帧变量命令别名“v”,速度比“p”或“po”快
  • Playground 包括各种稳定性改进以及额外的内存安全检查

Xcode 10.2.1 修复了大型 Swift 项目中的构建时间问题,并包括额外的错误修复。

Xcode 10.1

Xcode 10.1 包含 Swift 4.2.1 以及适用于 iOS 12.1、watchOS 5.1、Apple tvOS 12.1macOS Mojave 的 SDK。

Xcode 10

Xcode 10 与 macOS Mojave 中的深色模式结合,呈现令人惊叹的视觉效果,让您可以轻松地在 macOS app 中也采用新的外观。Xcode 10 beta 版包含 Swift 4.2 以及适用于 iOS 12、watchOS 5、Apple tvOS 12macOS Mojave 的 beta SDK。

深色模式界面和 Mac App 支持

  • 整个 Xcode 和 Instruments 的全新深色外观
  • 素材目录为自定义颜色和图像素材添加了深色及浅色变体
  • Interface Builder 在界面的深色与浅色预览之间切换
  • 在不改变操作系统设置的情况下,在深色或浅色变体中调试您的 Mac app

源代码控制

  • 本地存储库中或共享服务器上游的更改将直接在编辑器中高亮显示。以下信息一目了然:
  • 对代码所做的更改。
  • 尚未推送到共享存储库的更改。
  • 其他人已经做出的上游更改。
  • 在提交之前您应该解决的冲突。
  • 除了现有的 GitHub 支持外,还支持 Atlassian Bitbucket 提供的云托管和自托管 Git 服务器产品以及 GitLab。
  • 在从存储库中拉取最新版本的代码时,Xcode 会提议衍合您的更改。
  • 如果需要,将生成 SSH 密钥,并为您上传到服务提供商。

编辑器增强功能

  • 在代码编辑器中放置多个光标可以一次进行多项更改。
  • 代码折叠功能区现在可以隐藏大括号内的任何代码块。
  • 使用过度滚动功能可以轻松将最后几行代码居中放置在屏幕中间。

为机器学习而构建的 Playground

  • 类似 REPL 的新模型会立即重新运行现有的 playground 代码。
  • 将代码运行到任何特定行,或者键入 shift-return 来运行刚才添加的代码。
  • 导入 Create ML 框架,以交互方式训练新模型,然后编写代码以直接在 playground 中测试模型。完成后,将模型拖入 app 中。

测试和调试

  • 从新设备下载调试符号的速度比以前快五倍。
  • Xcode 将生成一组相同的模拟器,以利用您的多核 Mac,还会分散测试以便并行运行,从而将完成测试套件的速度加快许多倍。
  • 以随机或线性顺序运行测试。
  • Instruments 会自动显示添加到代码中的 OSLog 标记。
  • 构建并共享您自己的自定义 Instruments 软件包,为自己的代码提供独特的数据可视化和分析。
  • 内存调试器采用紧凑的布局,更便于研究内存图。
  • Metal 着色器调试程序让您可以轻松检查顶点、片段、计算以及分块着色器代码的执行情况。
  • Metal 依赖项查看器提供了详细的图表,说明在基于 Metal 的 app 中资源的使用情况。

构建性能

  • 新的构建系统是默认启用的,整体的性能得到了提高。
  • Swift 编译器构建每个单独文件的速度都得到了大幅提升。
  • 在使用增量构建设置时,大型 Swift 项目构建可显著加快调试速度。

Xcode 9.3

Xcode 9.3 包含 Swift 4.1 以及适用于 iOS 11.3、watchOS 4.3、Apple tvOS 11.3macOS High Sierra 10.13.4 的 SDK。

  • Organizer 窗口中新的“Energy”(能耗) 标签包括 app 耗电过多时生成的日志
  • Swift 构建任务和其他命令更频繁地并行运行,以提高构建性能
  • Swift 编译器添加了新的代码大小优化,通过 -Osize 构建设置来启用
  • 在按住命令键的同时点按符号可快速访问调用方
  • 素材目录支持 AR 参考图像文件,ARKit app 可以在现实世界中检测到这些文件
  • 您可以利用新的 xccov 命令行工具检查代码覆盖报告
  • 改进了源代码编辑器在处理超大文件时的性能

Xcode 9.2

Xcode 9.2 包含 Swift 4 以及适用于 iOS 11.2、watchOS 4.2、Apple tvOS 11.2macOS High Sierra 10.13 的 SDK。

  • 最新平台 SDK 的更新

Xcode 9.1

Xcode 9.1 包含 Swift 4 以及适用于 iOS 11、watchOS 4、Apple tvOS 11macOS High Sierra 10.13 的 SDK

  • 修复了模拟器中影响 OpenGL ES 和映射性能的问题
  • 改进了对 iPhone X 的支持

Xcode 9.0.1

Xcode 9.0.1 包含 Swift 4 以及适用于 iOS 11、watchOS 4、Apple tvOS 11macOS High Sierra 10.13 的 SDK

  • 针对 iPhone X 的模拟器改进
  • 修复了测试导航器可能与可用测试不同步的问题

Xcode 9.0

Xcode 9 包含 Swift 4 以及适用于 iOS 11、watchOS 4、Apple tvOS 11macOS High Sierra 10.13 的 SDK

  • 通过重构可以轻松修改 Swift、Objective-C、C 和 C++ 代码的结构
  • 代码编辑器速度和响应极快,并增加了对 Markdown 语法的原生支持
  • 只需点按一次,Fix-it 即会对代码应用多项改进,甚至可以添加所需的协议方法
  • 利用新的源代码控制导航器和集成的 GitHub 帐户,可以轻松地在整个团队内管理代码
  • 通过网络在设备上无线安装和调试 iOS 和 Apple tvOS app
  • 模拟器的外观和运行方式更像一个真实的设备,可以一次模拟多台设备
  • 使用 iOS playground 模板创建的文档可在 Xcode 和 iPad 上的 Swift Playgrounds 中使用
  • “查找”导航器速度非常快,结果会立即显示出来
  • “项目”导航器自动将文件和组与“访达”和源代码控制保持同步
  • Xcode Server 不再需要 macOS Server,并且完全可以在 Xcode 偏好设置中进行配置
  • 下一代构建系统提高了在构建许多项目 (选择性启用) 时的可靠性和性能
  • Swift 4 编译器也可以构建 Swift 3 代码来支持分阶段迁移,每次迁移一个模块
  • 最新的 SDK 包括用于机器学习的 Core ML 框架以及用于增强现实的 ARKit