在2016 苹果全球开发者大会(WWDC)期间, 苹果一如既往地给开发者们披露了新版的集成开发工具 – Xcode, 在过去的每一次大版本发布中,苹果都会积极地改进开发工具,添加一些极具吸引力的新功能,今年也不例外。html
1. Swift 2 and 3ios
过去每一版的Xcode 都和固定版本的Swift编程语言绑定在一块儿, Xcode 8中将再也不如此,Swift 3给 Swift编程语言带来大量的语法变化,这些改变会让基于之前Swift版本的程序编译失败。git
Xcode 8 中新建立的项目默认地使用Swift 3, 幸运地Xcode 8 在编译设置中支持开发者明确地选择Swift 2或Swift 2.3 进行编译。github
支持Swift语言以往版本编程
这就是说你能够选择适合的时候迁移项目到Swift 3, 若是一个目标(Target)须要支持Swift 2.3, 须要在目标(Target)的编译设置里把Use Legacy Swift Language Version 设置成Yes。xcode
Xcode 8 也提供了迁移工具帮你把项目升级到Swift 3, 不过Xcode提供的迁移工具让人喜忧参半,此次Swift 3 升级比上次升级有太多的变化,但愿Xcode 8 的迁移工具会有所改善吧。浏览器
2. 源码编辑器扩展安全
Xcode 8 最让人惊喜的是支持源码编辑器第三方扩展,开发者对于本地插件系统已经翘首企盼了不少年,源码编辑器扩展算是沿着插件系统方向迈出坚实的第一步吧。架构
源码编辑器扩展很相似于Xcode的扩展,但苹果一再强调当前的扩展专一于源码的操做和导航,也就是为何会叫作源码编辑器扩展,Xcode 8 甚至提供了编辑器扩展模板让你快速上手。app
Xcode 源码编辑器扩展模板
对于当前扩展架构中我最喜欢的一点就是每一个扩展都运行在不一样的进程中,这就意味着扩展的异常崩溃不会引发Xcode的意外终止,随着本地插件的愈来愈多,特别是苹果发布了新版的Xcode, 分进程运行的优点会显得愈来愈突出。
扩展对比插件另外一个优势是安全,你能够经过开发帐号登陆和发布扩展程序,苹果也提到开发者能够经过Mac 应用商店销售扩展,对于想经过销售扩展赚钱的开发者来讲是很不错机会。
我对于源码编辑器扩展是很是兴奋的,虽然我是 Alcatraz 的粉丝,但苹果的本地扩展更贴近于将来正确的方向。很是期待开发者们将来会提供什么样的扩展,其实已经有人在 GitHub 上发布了插件。
3. 调试
即便最好的开发者天天都要花费大量的时间进行调试程序,懂你的苹果提供了更好的工具让调试更简单,Xcode 8中针对调试作了很多显著的优化。
界面调试
Xcode 8中的界面调试很是强大,界面调试能够展现运行时(runtime)问题,改善后的界面调试对于调试不清晰或者不满意的布局变得更加简单。
运行时问题?没错,Xcode 8中除了编译时问题还提供了运行时问题,若是在运行时遇到自动布局的问题,Xcode会在左面导航面板把这些问题展现为运行时问题,这将会是个很是受欢迎的功能。
运行时问题
内存调试
Xcode 8 的内存调试功能针对查找内存泄漏和循环引用的问题也作了显著优化,我还不太肯定在实际项目中效果若是,但看起来很棒。
内存调试
4. 代码签名
代码签名对于那些对苹果平台有兴趣开发者来讲是很是不幸的,但幸运的是苹果没有作把头埋在沙子里的鸵鸟,苹果看到了开发者们遇到的问题并尝试解决,一些经验很是丰富的开发者也会不时遇到签名的问题,在今年的 Platforms State of the Union视频中, 苹果甚至自嘲本身的 修复问题(Fix Issue) 按钮,不只不多时候能修复真正的问题,有时候会把问题弄得更糟。
修复问题(Fix Issue) 按钮一般不能修复问题
代码签名问题在Xcode 8 中将成为过去式,对于每个目标(Target), 你能够勾选复选框让Xcode帮你管理代码签名,这个选项对于新项目默认是勾选的。在勾选的状况下,Xcode帮你管理证书,配置文件 和 应用标示等。
Code Signing Done for You
但愿苹果此次能解决签名问题,数以万记的开发者们和我一块儿祈祷吧。
5. 其余改善和加强
San Francisco Mono字体
若是你很是享受使用精雕细琢的软件,你应该会很喜欢Xcode 8中的San Francisco Mono 字体,请参看下图:
San Francisco Mono
高亮当前行
你有没有注意到上面截图中的当前行被标示为高亮? 这是Xcode8中另外一个受欢迎的功能,当前我在Xcode 7 中使用Backlight for Xcode 实现相似功能,在Xcode 8 中将再也不须要这个插件了。
图片代码自动完成
说到一些将被废弃的插件, 目前我在使用 Kent Sutherland开发的插件 KSImageNamed 可以在Xcode中帮助图片代码自动完成, 在Xcode 8 我将不须要这个插件,由于这个功能已经内置在Xcode 8 中。
图片自动完成
6. 文档
相信每一个开发者都会在浏览和阅读文档上会花费不少时间,好的文档对于开发者有很大帮助,其实苹果的文档是很是优秀的,但提供的浏览方式却没有那么友好。
这个问题在 Xcode 8 将会被解决,新的文档格式看起来漂亮极了,且文档浏览会变得简单和快捷。苹果也针对内存问题作了相关优化,新版的内存占用会少不少。
下面是两张关于文档的截图,是否是极有设计感?
新文档浏览器图1
新文档浏览器图2
总结
最后想说我这篇文章只是覆盖了Xcode新功能的一部分,对于Xcode的大版本升级我老是很期待的。 哪个是你最喜欢的Xcode 8中的新功能? 在评论区不吝分享吧。
转自:http://www.cocoachina.com/ios/20160714/17038.html