Xcode 8 的 6 大新功能一览

【注】该文章今年9月份翻译国外的一篇博客, 首发于码农网。

在2016 苹果全球开发者大会(WWDC)期间, 苹果一如既往地给开发者们披露了新版的集成开发工具 – Xcode, 在过去的每一次大版本发布中,苹果都会积极地改进开发工具,添加一些极具吸引力的新功能,今年也不例外。

1. Swift 2 和 3

过去每一版的Xcode 都和固定版本的Swift编程语言绑定在一起, Xcode 8中将不再如此,Swift 3给 Swift编程语言带来大量的语法变化,这些改变会让基于以前Swift版本的程序编译失败。

Xcode 8 中新创建的项目默认地使用Swift 3, 幸运地Xcode 8 在编译设置中支持开发者明确地选择Swift 2或Swift 2.3 进行编译。

支持Swift语言以往版本

这就是说你可以选择适合的时候迁移项目到Swift 3, 如果一个目标(Target)需要支持Swift 2.3, 需要在目标(Target)的编译设置里把Use Legacy Swift Language Version 设置成Yes

Xcode 8 也提供了迁移工具帮你把项目升级到Swift 3, 不过Xcode提供的迁移工具让人喜忧参半,这次Swift 3 升级比上次升级有太多的变化,希望Xcode 8 的迁移工具会有所改善吧。

2. 源码编辑器扩展

Xcode 8 最让人惊喜的是支持源码编辑器第三方扩展,开发者对于本地插件系统已经翘首企盼了很多年,源码编辑器扩展算是沿着插件系统方向迈出坚实的第一步吧。

源码编辑器扩展很类似于Xcode的扩展,但苹果一再强调当前的扩展专注于源码的操作和导航,也就是为什么会叫做源码编辑器扩展,Xcode 8 甚至提供了编辑器扩展模板让你快速上手。


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帮你管理证书,配置文件 和 应用标示等。
自动管理签名

希望苹果这次能解决签名问题,数以万记的开发者们和我一起祈祷吧。

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中的新功能? 在评论区不吝分享吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容

  • 在2016 苹果全球开发者大会(WWDC)期间, 苹果一如既往地给开发者们披露了新版的集成开发工具 – Xcode...
    极客学院Wiki阅读 609评论 1 5
  • 在2016 苹果全球开发者大会(WWDC)期间, 苹果一如既往地给开发者们披露了新版的集成开发工具 – Xcode...
    逆行风阅读 392评论 1 1
  • 在2016 苹果全球开发者大会(WWDC)期间, 苹果一如既往地给开发者们披露了新版的集成开发工具 – Xcode...
    余一波_Bobby阅读 5,763评论 4 6
  • 因为要结局swift3.0中引用snapKit的问题,看到一篇介绍Xcode8,swift3变化的文章,觉得很详细...
    uniapp阅读 4,388评论 0 12
  • 刚刚陪同奶奶从病魔中的阴影中走出,就在刚刚抵连的车上却收到了大学同学突然脑出血的信息,晴天霹雳,是的脑梗又是它和奶...
    dj8614阅读 619评论 0 50