Xcode 8 带来 Swift 3、编辑器插件,以及更多其他功能

  • Sergio De Simone
  • 大愚若智

2016 年 6 月 20 日

话题:移动AppleiOS语言 & 开发

Apple 在WWDC 2016大会上公布了 适用于 iOS、macOS、tvOS,以及 watchOS 的最新版 IDE:Xcode 8。目前依然处于 Beta 测试版的 Xcode 8 包含 Swift 3,改进的地址和线程清理器(Address and thread sanitizer),新的编辑器扩展体系结构等新特性。

Apple 于 2015 年 12 月将 Swift开源,而 Swift 3 是在这之后发布的首个主要版本。在 InfoQ 之前发布的一篇报道中提过,Swift 3 并不是对这一开发语言的版本更新,同时也无法与老版本实现二进制兼容。为了帮助开发者将 Swift 2.x 代码顺利移至 Swift 3,Xcode 8 提供了 Swift 迁移工具。按照惯例,在使用 Xcode 迁移工具时必须确保代码架构中包含所有需要转换的目标,并且代码必须能在 Xcode 7.3 中实现无错误编译。不过就算满足这些前提条件,迁移工作依然可能失败。Swift 博客列出了在迁移失败后可以考虑采用的解决方法。

Xcode 8 还提供了全新的运行时清理器和更严格的静态分析器:

  • 新增的线程清理器可以帮助开发者在 Swift 和 Objective-C 中发现和理解并发情况下出现的数据争用问题和其他 Bug。
  • 地址清理器现已支持 Swift 代码,可以帮助开发者找出与UnsafeMutablePointer有关的问题,Swift 主要使用UnsafeMutablePointer实现与 C 调用有关的互操作
  • 静态分析器现已支持通过更“激进”的方式检查是否存在为空性(Nullability)违背。该功能可检查项目和 System Header 调用是否存在违背,所有新项目均默认启用该功能。

Xcode 运行时清理器和静态分析器中包含的新功能只能用于 Swift 3。

在 UI 方面,Xcode 已可支持编辑器扩展,借助该功能可对 Xcode 编辑器进行定制。Xcode 8 还提供了用于创建编辑器扩展的全新项目模板。为防止编辑器扩展影响 Xcode 的稳定性,Xcode 编辑器扩展会在独立的进程中运行。

Apple 称,Xcode 8 的速度比老版本有大幅提高。尤其是重新设计的 Interface Builder 可以实现更高速度和更完善的控制能力,帮助开发者实时预览应用在任何 Apple 设备上的呈现效果。

若想进一步了解 Xcode 8 的所有改进,建议阅读Xcode 8 发布说明。Xcode 8 安装文件体积 5.5GB,可从Apple Developer Connection 下载页面下载。发布说明和 Xcode 8 安装文件仅限已注册开发者访问,但无需具备付费账户。

查看英文原文Xcode 8 Brings Swift 3, Editor Plug-ins, and More

移动AppleiOS语言 & 开发