在WWDC期间,Apple通常向开发人员简要介绍其IDE的下一个主要版本Xcode。 在每个主要版本中,该公司都会改进其开发人员工具并添加许多引人注目的新功能。 今年也不例外。
1. Swift 2和3
直到Xcode 8为止,每个Xcode版本都与特定版本的Swift编程语言绑定在一起。 从Xcode 8开始,这种情况不再成立。Swift3引入了许多更改,并且其中许多更改正在中断。
默认情况下,使用Xcode 8创建的项目使用Swift 3。 幸运的是,Xcode 8包含一个构建设置,使开发人员能够坚持使用Swift 2,确切地说,是Swift 2.3。
这意味着您可以选择何时将项目迁移到Swift3。要为Swift 2.3配置目标,请打开目标的构建设置,并将Use Legacy Swift Language Version设置为Yes 。
Xcode 8还包括一个迁移工具,可帮助您将项目迁移到Swift3。我将Xcode 7的迁移工具的使用情况喜忧参半。Swift3引入了许多很多变化,我希望当Xcode 8发行时,该迁移工具会有所改进。准备发布。
2.源代码编辑器扩展
最令人惊讶的功能之一是引入了源代码编辑器扩展。 多年来,开发人员一直在寻求本机插件体系结构。 源代码编辑器扩展是朝这个方向迈出的第一步。
Xcode扩展有很多令人喜欢的地方,但是Apple强调,扩展当前集中于操纵和导航源代码编辑器的内容,因此也要关注源代码编辑器的扩展。 Xcode 8甚至包括一个模板,可帮助您快速入门。
我特别喜欢扩展架构的是,每个扩展都在一个单独的进程中运行。 这意味着崩溃的扩展名不会导致Xcode意外退出。 这通常会导致自家插件出现问题,尤其是如果Apple发行了新的主要版本的Xcode。
扩展相对于插件的另一个好处是安全性。 您可以使用您的开发者帐户签名和分发扩展程序。 苹果还提到您可以使用Mac App Store分发扩展。 如果您有兴趣通过自己制作的扩展程序赚钱,这是一个不错的选择。
我对源代码编辑器扩展感到非常兴奋。 虽然我是Alcatraz的忠实拥护者 ,但苹果公司对扩展程序的本地实现似乎是前进的方向。 我迫不及待想知道开发人员将要构建哪种扩展。 GitHub上已经有一些可用的。
3.调试
即使是最优秀的开发人员,也要花费大量的时间进行调试,Apple知道需要更好的工具来简化此任务。 Xcode 8引入了许多与调试相关的重大改进。
查看调试
在Xcode 8中,视图调试的功能更加强大。可靠性得到了改善,由于改进了显示运行时问题的视图调试器,调试歧义或不满意的布局变得更加容易。
运行时问题? 那就对了。 Xcode 8除了构建时问题外,还引入了运行时问题。 如果在运行时遇到“自动布局”问题,则Xcode在左侧的“ 问题导航器 ”中将问题显示为运行时问题。 这是一个非常受欢迎的补充。
内存调试
Xcode 8还具有出色的内存调试器,可以跟踪内存泄漏并保留周期。 我不确定它在实践中将有多大用处,但看起来非常非常好。
4.代码签名
对于对苹果平台感兴趣的开发人员,代码签名是必不可少的。 幸运的是,苹果并没有把头埋在沙子里。 它了解开发人员的痛苦。 甚至退伍军人也在不时遇到代码签名问题。 在今年的Platforms of the Union中 ,Apple甚至取笑了自己的“ 修复问题”按钮,该按钮很少修复问题,有时甚至使情况变得更糟。
对于Xcode 8,代码签名问题应该已经过去。对于每个目标,您都可以选中一个复选框,该复选框告诉Xcode代表您管理代码签名。 默认情况下,此选项对新项目启用。 选中后,Xcode会为您管理证书,配置文件和应用程序标识符。
我希望苹果这次能做到这一点。 和我一起成千上万的其他开发者。
5.其他改进和增强
旧金山Mono
如果您喜欢使用精美的软件,那么您可能会喜欢Xcode 8附带的Apple的新San Francisco Mono字体。它是San Francisco的等宽变体,可以与macOS的系统字体巧妙地融合在一起。
行高亮
您是否注意到上面的屏幕截图中突出显示了当前行? 这是Apple添加到Xcode 8的另一个受欢迎的增强功能。我目前使用Xcode的Backlight在Xcode 7中实现相同的效果。我想我不再需要Xcode 8中的该插件。
图像的代码完成
说到放弃第三方插件,我目前使用Kent Sutherland出色的KSImageNamed插件为Xcode中的图像启用代码完成功能。 当我切换到Xcode 8时,我将不需要该插件,因为此功能现已内置到Xcode中。
6.文件
开发人员花费大量时间浏览和阅读文档。 好的文档会走很长一段路,而Apple的文档非常出色。 浏览文档是另一回事。
现在,可以在Xcode 8中解决此问题。新的文档格式看上去很漂亮,并且文档浏览器既快速又易于使用。 苹果还整合了其平台的文档,从而大大减少了内存占用。
而且,是的,文档看起来很漂亮。 如果您不相信我,请看一下这些屏幕截图。
结论
不用说,我只介绍了Xcode 8的新功能的一个子集。Xcode的下一个主要发行版一直是我期待的东西。 开发人员在他们的代码编辑器中花费了很多时间,因此可以理解,不管它的好坏,他们都在乎它的发展。 Xcode 8您最喜欢的功能是什么? 在评论中分享。
翻译自: https://code.tutsplus.com/articles/whats-new-in-xcode-8--cms-26799