Xcode8 中的新内容

Xcode 8 中的新内容

全球开发者大会期间,苹果跟往常一样,给开发者介绍了一下IDE,Xcode的下一个主要版本。 随着重要版本的放出,苹果公司公司改善了开发工具并增加了许多引人注目的新功能。 今年也同往年一样

1.Swift 2 和 3

直到Xcode 8,Xcode的每一个版本都是内置明确版本的swift编程语言。 在Xcode 8种不再是这样了。Swift 3有了大量的改变,而且大多数改变是具有破坏性的。

使用Xcode 8创建的项目默认使用的是Swift 3. 幸运的是Xcode 8中的build setting选项可以让开发者明确表明继续使用Swift 2和Swift 2.3。

Xcode8 中的新内容_第1张图片

这就表明当你将项目迁移到Swift 3的时候有所选择。你可以在target的build settings中将Use Legacy Swift Language Version 选项设置为YES,来将你的target配置成Swift 2.3。

Xcode 8也内置了一个迁移用具来帮助你将项目迁移到Swift 3。我曾经使用Xcode 7的迁移工具得到了一个混乱的结果。Swift 3带来了许多改变,我希望在Xcode 8准备放出的时候,迁移工具能有很大的改善。

2.Source Editor Extensions

源代码编译器扩展是最令人惊喜的功能之一。 开发者要求原生插件架构已经好多年了。 源代码编译器扩展是一个很好的开头。

虽然有很多喜欢的Xcode的扩展,但是苹果强调当前的扩展主要注重在源代码编译器的操作和导航上。 Xcode 8又一个内置的模版来帮助你快速的开始。

Xcode8 中的新内容_第2张图片

我最喜欢扩展架构的一点就是,每一个扩展都是运行在单独的进程中的。 这就意味着一个扩展的崩溃,不会造成Xcode的意外退出。 那些第三发插件经常造成闪退问题,特别是当苹果放出Xcode的重大版本时。

扩展的另外一个好处就是比起插件来是安全的。 你可以用你的开发者账号来登陆和发布你的扩展。 苹果也提到了,你可以使用Mac的商店来发布扩展。 如果你有兴趣使用你制作的扩展来赚钱,这是一个很好的选择。

我是很激动的对于这个源代码编译器扩展功能。 我是Alcatraz的忠实追随者,但是苹果的原生扩展是未来的方向。 我已经等不及想去看开发者们会创建那些扩展。 在GitHub上已经有一些可以用了。

3.调试

即使是最好的开发者也要花大量的时间用来调试,苹果认识到了这个需求,用更好的工具来使这些事情变得更加容易。 Xcode引入了大量的有关调试功能的重要改善。

试图调试

视图调试在Xcode 8中更加的强大了。准确性了有了提升,由于视图调试的改善,能够显示运行时错误,调试歧义和不稳定的局现在更容易。

运行时错误? 是的。 Xcode 8引入了runtime issues到buildtime issue。 如果你在运行的时候产生了自动布局错误,Xcode会在左边的错误导航栏中的runtime issue下显示这个问题。 这是很受欢迎的一个增加的功能。

Xcode8 中的新内容_第3张图片

内存调试

Xcode 8用相当强大的内存调试器来跟踪内存的泄漏和循环。 我不知道在实际的实战中有多少帮助,但是这个看上去是非常非常有用的。

Xcode8 中的新内容_第4张图片

代码签名

对于有兴趣参与苹果平台开发的开发者来说代码签名是很有必要的。 幸运的是苹果公司没有置若罔闻。 苹果理解开发者在这方面的痛苦。 即使是老手也一次又一次的跟代码签名的错误作斗争。 在今年的Platforms State of the Union,苹果有好的制作了一个Fix Issue的按钮来修复错误,但是有时候反而会把事情变的更糟。

Xcode8 中的新内容_第5张图片

在Xcode 8中,代码签名错误的情况应该不会存在了。 在每一个targe中,你都可以在框中打勾来告诉Xcode让它来代表你管理代码签名。 对于新项目这个选项默认是打开的。 打勾以后,Xcode为你管理certificates, provisioning profiles和 application identifiers。

Xcode8 中的新内容_第6张图片

我希望苹果这次是做的对的。 数以万计的其他开发者也跟我一样希望如此。

5.其他的改善和增强

San Francisco Mono

如果你喜欢用漂亮的软件,你可能会喜欢Xcode 8附带的苹果的新 San Francisco Mono font字体。 这是旧金山字体的变种,再混合macOS系统字体后的字体。

Xcode8 中的新内容_第7张图片

整行高亮

你注意到上面的插图中当前的代码行高亮了吗? 这是苹果增加到Xcode 8的另外一个受欢迎的增强功能。 我当前使用的是Backlight for Xcode,在Xcode 7.1中实现相同的效果。我猜我在Xcode 8中不再需要这个插件了。

为Images的代码完成功能

说到抛弃第三方插件,我现在在Xcode中使用的是Kent Sutherland的优秀的KSImageNamed插件,来为images提供代码完成功能。 当我转到Xcode 8之后将不需要这个插件了,这个功能现在已经内置在Xcode了。

Xcode8 中的新内容_第8张图片

Advertisement

6.文档

开发者花了过多的时间在游览和阅读文档。 好的文档有很长的路要走,苹果的文档相当优秀。 浏览文档是不同的一回事。

这个痛苦在Xcode 8中被解决了。 新的文档格式看上去更好,文档浏览更快更容易使用。 苹果还巩固了文档平台,所以内存占用更小了。

是的,文档看上去很舒服。 如果你不信我,你看一下那些屏幕快照。

Xcode8 中的新内容_第9张图片
Xcode8 中的新内容_第10张图片

结论

不用我说也知道,这仅仅涵盖了Xcode 8中新功能的一小部分。 Xcode的下一个主要版本总有一些让我期待。 开发者花了很多时间在它们的代码编辑器上,因此这是可以理解的,他们如此关心这些无论好坏的演变。 你最喜欢Xcode 8中的功能是什么?在评论中分享一下吧。

你可能感兴趣的:(Xcode8 中的新内容)