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。
这就表明当你将项目迁移到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又一个内置的模版来帮助你快速的开始。
我最喜欢扩展架构的一点就是,每一个扩展都是运行在单独的进程中的。 这就意味着一个扩展的崩溃,不会造成Xcode的意外退出。 那些第三发插件经常造成闪退问题,特别是当苹果放出Xcode的重大版本时。
扩展的另外一个好处就是比起插件来是安全的。 你可以用你的开发者账号来登陆和发布你的扩展。 苹果也提到了,你可以使用Mac的商店来发布扩展。 如果你有兴趣使用你制作的扩展来赚钱,这是一个很好的选择。
我是很激动的对于这个源代码编译器扩展功能。 我是Alcatraz的忠实追随者,但是苹果的原生扩展是未来的方向。 我已经等不及想去看开发者们会创建那些扩展。 在GitHub上已经有一些可以用了。
3.调试
即使是最好的开发者也要花大量的时间用来调试,苹果认识到了这个需求,用更好的工具来使这些事情变得更加容易。 Xcode引入了大量的有关调试功能的重要改善。
试图调试
视图调试在Xcode 8中更加的强大了。准确性了有了提升,由于视图调试的改善,能够显示运行时错误,调试歧义和不稳定的局现在更容易。
运行时错误? 是的。 Xcode 8引入了runtime issues到buildtime issue。 如果你在运行的时候产生了自动布局错误,Xcode会在左边的错误导航栏中的runtime issue下显示这个问题。 这是很受欢迎的一个增加的功能。
内存调试
Xcode 8用相当强大的内存调试器来跟踪内存的泄漏和循环。 我不知道在实际的实战中有多少帮助,但是这个看上去是非常非常有用的。
代码签名
对于有兴趣参与苹果平台开发的开发者来说代码签名是很有必要的。 幸运的是苹果公司没有置若罔闻。 苹果理解开发者在这方面的痛苦。 即使是老手也一次又一次的跟代码签名的错误作斗争。 在今年的Platforms State of the Union,苹果有好的制作了一个Fix Issue的按钮来修复错误,但是有时候反而会把事情变的更糟。
在Xcode 8中,代码签名错误的情况应该不会存在了。 在每一个targe中,你都可以在框中打勾来告诉Xcode让它来代表你管理代码签名。 对于新项目这个选项默认是打开的。 打勾以后,Xcode为你管理certificates, provisioning profiles和 application identifiers。
我希望苹果这次是做的对的。 数以万计的其他开发者也跟我一样希望如此。
5.其他的改善和增强
San Francisco Mono
如果你喜欢用漂亮的软件,你可能会喜欢Xcode 8附带的苹果的新 San Francisco Mono font字体。 这是旧金山字体的变种,再混合macOS系统字体后的字体。
整行高亮
你注意到上面的插图中当前的代码行高亮了吗? 这是苹果增加到Xcode 8的另外一个受欢迎的增强功能。 我当前使用的是Backlight for Xcode,在Xcode 7.1中实现相同的效果。我猜我在Xcode 8中不再需要这个插件了。
为Images的代码完成功能
说到抛弃第三方插件,我现在在Xcode中使用的是Kent Sutherland的优秀的KSImageNamed插件,来为images提供代码完成功能。 当我转到Xcode 8之后将不需要这个插件了,这个功能现在已经内置在Xcode了。
Advertisement
6.文档
开发者花了过多的时间在游览和阅读文档。 好的文档有很长的路要走,苹果的文档相当优秀。 浏览文档是不同的一回事。
这个痛苦在Xcode 8中被解决了。 新的文档格式看上去更好,文档浏览更快更容易使用。 苹果还巩固了文档平台,所以内存占用更小了。
是的,文档看上去很舒服。 如果你不信我,你看一下那些屏幕快照。
结论
不用我说也知道,这仅仅涵盖了Xcode 8中新功能的一小部分。 Xcode的下一个主要版本总有一些让我期待。 开发者花了很多时间在它们的代码编辑器上,因此这是可以理解的,他们如此关心这些无论好坏的演变。 你最喜欢Xcode 8中的功能是什么?在评论中分享一下吧。