Xcode 9 的这些新特性细节,助力你高效开发
Posted SwiftCafe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xcode 9 的这些新特性细节,助力你高效开发相关的知识,希望对你有一定的参考价值。
随着新 iPhone 以及 ios 11 的正式发布。 作为开发工具的 Xcode 9 也发布正式版了。 这次的 Xcode 更新,做出了不小的改进,提供了很多新特性。 我为大家做了一些整理。
我翻阅了苹果官方的完整介绍,确实感到这次 Xcode 9 的升级是一个大跨步式的提升。无论是对 Swift 语言更加完善的支持,还是对现有 IDE 能力的深度挖掘,或者是对很多特性功能的定制化支持,都让我感觉到 Xcode 团队在发力做好这款对开发者使用的产品。 接下来就把其中一些应该对大家有实际帮助的特性拿出来说一下。
代码重构功能增强
这次 Xcode 9 对代码重构功能有较大的提升,首先是重命名功能,在编辑器中点击类名,然后选择 Refactor -> Rename:
这时,重命名的预览界面会直接显示在编辑器中:
从图中可以看到,ViewController 类所有引用它的地方,所在的文件位置,都直接铺在了代码编辑器里面,只需要滚动编辑框,就可以很轻松的看到这次重构影响的所有地方,非常方便。
Rename 这个功能说起来是很常用的一项,我自己就经常使用。可惜 Xcode 前几个版本对 Swift 支持不好,在开发 Swift 项目时只好手动来做 Rename,这次终于算是解决了,并且还提供了更好的体验。
另外,这次 Xcode 9 还解决了重命名在 Swift 语言中的一个老问题,就是:
常用 Swift 的同学应该都知道这个,以前版本的 Xcode 不支持 Swift 语言的重命名操作。 等了好几个 Xcode 版本, 这次终于是支持了。
新的 Xcode 还提供了快捷菜单,按住 Cmd 键, 再点击相应的变量或者类名,就会弹出快捷菜单:
快捷菜单中,提供了诸如重命名,转到定义,快速提示这些操作。
Swift 低版本兼容
XCode 9 使用 Swift 4 编译器。 这次新的编译器同时可以支持 Swift 3, 这样就不用立即修改项目的 Swift 代码了。 相信有过 Swift 更新经历的同学对这个印象都比较深刻,包括我自己。 前几个版本的 Xcode 升级后,都会带来 Swift 编译器的升级,而之前的升级都是不做向下兼容的,必须把整个项目的代码都修改一遍。曾经亲身经历过一次,当时真是差点崩溃。 现在不用担心这个问题了。
可以在项目设置中选择当前 target 使用的 Swift 版本:
Main Thread Checker
顾名思义, Xcode 9 的调试器现在可以检测 UI 操作是否在主线程中了。 以往开发中的一个常遇到的问题,就是在非主线程操作 UI 元素。 现在 Xcode 9 在调试 APP 的时候会自动附带 Main Thread Checker, 一旦遇到这类问题,就会在控制台中报告给开发者,就像这样:
|
同时,在代码编辑器中,也会高亮显示相应的代码行:
以往这种在非主线程操作 UI 的问题很难发现,而且我相信这类问题是大家都会常常遇到的。 在 Xcode 9 中,这个老大难问题也有了更好的解决方案。 关于 Main Thread Checker 的详细内容,可以参看苹果的官方文档: https://developer.apple.com/documentation/code_diagnostics/main_thread_checker
文件操作改进
现在你在 Xcode 中拖动文件时,会相应的改变文件系统了。 我们都知道,Xcode 左边栏中黄色的小文件夹叫做 Group:
在以前的 Xcode 版本中, 直接在这里面移动文件是不会影响文件系统位置的,比如把 ViewController.swift 文件移动到 group1 中,不会影响它在文件系统中的位置。
所以以前在移动文件的时候,我们需要先在文件系统中把文件移动一遍,也许当初 Xcode 设计 group 的初衷是为了把逻辑分组和文件系统分开。 但实际操作中反而给大家带来了麻烦,这个细节的修改还是很贴心。
深度集成 Github
Xcode 以前的版本也包含了版本控制的集成,这次更是对 Github 这个最流行的 Git 托管平台做了定制化的集成。 在 Xcode 的 Preference -> Account 设置菜单里面, 现在可以绑定你的 Github 账号:
绑定成功后,你可以在 Xcode 9 新增的源代码导航视图中看到项目的完整记录:
点击 Source Control 的 Clone 菜单项,可以看到你的 Github 账号中所有的内容:
在这个界面的下方,还可以看到这个工程的 Star,Fork 数量,以及 README 文件。 只需要点击右下角的 Clone 按钮,即可把项目从 Github 中复制下来。
在导航视图中,我们还可以看到每一个 commit 的细节:
你还可以点击 View on Github 选项,跳转到这个项目的 Github 页面上。 在这个页面上,如果是 Xcode 工程,还会看到 Open in Xcode 按钮:
点击这个按钮,你就可以直接在本地的 Xcode 打开这个项目, 后台的 Clone 操作完全透明了。 从这里可以看出,Xcode 对 Github 的深度集成是双向的,一定是一个用了心思做的产品。
Xcode 9 的 Github 集成还有很多特性,这里不详细展开了。如果你的团队恰巧用到了 Github 或者 Github 企业版来管理代码,那么就方便很多了。
模拟器升级
Xcode 9 对模拟器的改进也可以算的上是近几年最大的一次。 首先,模拟器的外观做了很大的更新,更加拟物化,并且,可以多个模拟器同时运行,方便多屏幕调试,比如 UI 先关的工作。 这点大家之前应该也都了解了。
下面是多个模拟器同时运行的截图:
全新的构建系统
Xcode 9 这次提供了一个全新的构建系统。 这个构建系统完全使用 Swift 语言写成,基于 Apple 的 llbuild 引擎。这个引擎在 Github 上面已经开源 https://github.com/apple/swift-llbuild ,这里不过多介绍,有兴趣的同学可以自行翻阅。
新的构建系统默认是不开启的,你可以到 File -> Project Settings... 中打开项目设置中找到:
现在还是 Preview 版本,Xcode 后面的版本会把它作为默认构建系统,感兴趣的同学也可以尝试一下。
总结
总体来说,Xcode 9 的这次升级相比以前的版本,算是一个步伐很大的更新。 全新的模拟器,Wifi 调试,新的构建系统,对 Swift 更加完善的支持,等等这些,都算是一次质的飞跃。 这里给大家列出的也只是这次 Xcode 更新的一部分。 完整的内容大家还可以参看这里: https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/WhatsNewXcode/xcode_9/xcode_9.html
也希望通过这篇文章,能帮助大家更透彻的感知到它的变化,帮助提升开发体验。
以上是关于Xcode 9 的这些新特性细节,助力你高效开发的主要内容,如果未能解决你的问题,请参考以下文章