您将要创造的

今年的WWDC公告重点关注令人兴奋的新SDK(例如ARKit)以及对iOS 11的更改。但是,Apple还通过Xcode 9对Xcode进行了重大改进。 Xcode的新版本不会被其他公告所震撼,它是编码人员的飞跃。 开发人员一定会感到高兴!

今年的改进包括:

  • 更新了对Swift 4的支持,包括对Swift 4.0和3.2的并行支持
  • 从索引到重构工具,Xcode Project Navigator和Editor的速度得到了极大的提高
  • 完全重建的源代码管理(SCM)组件,具有无缝的Git和GitHub集成
  • 能够运行多个并行模拟器,以及在iPhone和Apple TV等物理设备上进行无线调试的功能
  • 一个新的Main Thread Checker工具,以确保UIKit和AppKit线程合规性
  • 改进了UI组件的Interface Builder呈现。

当然,这是一个非常令人兴奋的更改列表,所以让我们从Swift 4开始逐一进行。

支持Swift 4

Swift逐年稳步发展,今年Xcode支持最新的主要Swift版本Swift 4 。 尽管最新的开源迭代没有以前的版本那么大,但是Xcode 9使该过程更加便捷。

对于初学者来说,Xcode 9现在支持同时编译Swift 4.0和Swift 3.2目标的能力,这意味着作为开发人员,您可以选择逐渐迁移项目,而不是一次迁移所有项目,并且可以用任一版本编写项目目标最新或先前的语言版本。


Xcode 9的编译器可以理解这两个版本,并且现在可以通过Xcode Migration Assistant要求用户选择要迁移到4.0版的目标。

实际上,Xcode 9通过“ 编辑器”>“验证”菜单选项来评估您的代码并提供有关项目现代化合规性状态和最佳实践的见解。


项目导航器和编辑器的改进

接下来,Xcode 9对IDE本身进行了一些必要的改进,特别是对Project Navigator和Source Editor组件的改进,从更快的索引引擎开始,该索引引擎增强了您搜索和更快返回结果的能力。

开发人员可以搜索大型代码库并立即获得结果,因为索引引擎现在还可以在编译文件时对文件进行索引,而以前处于编译状态的文件无需进行索引。 这使开发人员能够快速无缝地在链接的项目和库之间跳转和搜索文件,这是一个可喜的收益,特别是当您使用CocoaPods和多项目工作区时。

如Apple所说,编辑器本身也已经过重建,从而实现了“一种基于结构的快速编辑器,可让您智能地突出显示和导航代码”。 这意味着一个新的突出显示引擎,它可以更好地识别按逻辑分组的块,并为您提供用于在代码库的相关部分之间导航的智能工具。


重构

除了允许开发人员轻松地在类之间或方法之间进行导航之外,Xcode还提供了全新的重构功能。 重构工具提供了一个模式编辑器窗格,用于在提取和重构Swift方法时比较所有可能的更改。 即使在Swift和Objective-C方法之间,这也使重构变得容易。


现在,您只需单击一下,就可以更新符号,修改getter和setter,合成iVar以及自动填充强制性协议方法以实现一致性。

降价编辑

其他较小的改进包括在编辑器中对Markdown文件的本地支持(使用Markdown样式呈现)。 考虑到Xcode与GitHub的更深层次的集成,这一改进是有意义的,并且能够在编辑器中更直观地访问README.md文件是有帮助的。


斯威夫特游乐场

Xcode 9还提供了新的iOS Playground模板,您不仅可以在Xcode中进行测试,还可以在iPad上的Swift Playgrounds中进行测试!


其他小型编辑器改进

同样,这是一个很小的改进,但是编辑器现在允许用户使用符合macOS的 +或来增加或减小编辑器字体大小。 -快捷方式。


另一个小改进是在Project Navigator中创建,重命名和删除组。 现在,对组进行的更改将反映在关联的文件夹中,从而确保命名的一致性,并消除了许多开发人员对Xcode如何处理文件系统文件夹的烦恼。

最后,对Xcode资产目录的改进增加了对iOS 11中新的HEIF图像开放标准的支持。

源代码管理管理改进

Xcode最显着的改进之一是集成的源代码管理管理,到目前为止,它一直被忽略。 Xcode 9取代了以前从未真正成为Xcode一部分的半裸SCM,现在包括一个经过全面改进的SCM集成。


通过更加无缝集成的新型SCM导航器,您还将获得使用分支和标签的更强大方法。 不仅如此,Xcode现在还具有与GitHub的深度集成,可让您直接从Xcode偏好设置管理帐户,单击即可创建GitHub存储库,并在编辑器中浏览公共存储库。

调试和模拟器改进

顺带一提,调试在Xcode 9中也引起了很多关注。 我们将从研究Xcode Simulator中的新功能开始。

Xcode模拟器

以前,启动Xcode Simulator时,一次只能启动一个Simulator。 因此,如果必须在多种设备类型上进行测试,则必须依次运行每种设备。 无论是手动还是自动测试,这都会使测试变慢。

这在Xcode 9中已发生了变化。开发人员可以首次同时运行多个模拟器,而自动化测试工具现在可以并行运行测试。


苹果公司已经对Simulator进行了一些其他小的但有用的调整。 一种是您可以按住Option键关闭“模拟器”窗口,但仍使其在后台运行。 您也可以从命令行启动Simulator,这对于自动测试和交付工具很有用。

除了截图外,开发人员还可以录制模拟器的视频,这对于App Store发布非常有用。

最后但并非最不重要的一点是,从Simulator毕业到在真实设备上进行测试的开发人员不再需要物理上插入其设备。 Apple现在允许开发人员切断电源,并通过一种称为“网络调试”的功能来无线调试iOS和Apple TV设备。

主线程检查器

苹果公司已经与Xcode 9一起引入了一个新的独立调试实用程序,即Main Thread Checker,它可以从后台线程检测AppKit和UIKit等著名SDK的不合规用法。 例如,开发人员可能在后台线程中使用UITableView操作,这可能导致奇怪的视觉效果和错误的更新。 主线程检查器默认情况下处于启用状态,并且可以通过方案编辑器进行配置。

内置Xcode服务器

Xcode 9现在具有内置和标准的Xcode Server机器人,从而使开发人员无需安装macOS Server。 这意味着开发人员可以在任何计算机上运行Xcode Server机器人并利用持续集成的最佳实践。

界面生成器的改进

多年来,随着屏幕渲染的不断改进,开发人员已经看到Interface Builder(IB)的逐渐变化和改进。 Xcode 9通过更精确地在画布上呈现UI组件来继续完善IB。 改进的组件包括“导航”,“选项卡”和“工具栏”。

另一个新功能是,当视图约束可能会导致本地化问题时,Xcode和IB现在将警告开发人员。 例如,当视图更改可能导致其他语言(例如德语)的单词被截断或剪切时,您会收到警报。 对于支持多种语言的开发人员来说,这无疑将节省大量时间。

说到布局,Interface Builder现在还支持“自动布局”安全区域指南,这些指南可帮助开发人员安排UI元素。 这不推荐使用Xcode早期版本中的顶部和底部布局指南。

结论

最新版本的Xcode提供了许多新功能,这些新功能将提高开发人员的工作效率。 随着Swift 4的发布,Xcode使从Swift 3.2到最新版本的迁移更加可口,这归功于它对逐步迁移的支持。 Xcode还获得了及时而显着的搜索索引速度改进,以及完全重建的,具有上下文相关性的编辑器,并提供了对重构的新支持。

现在,SCM已成为一流的公民,这意味着开发人员不再需要为满足git管理的需要而在Xcode和第三方SCM编辑器之间切换。 该模拟器得益于一些最显着的改进,它具有运行多个并发模拟器以更快地在多个设备上进行测试的能力,以及能够在物理设备上无线断开和调试的便利。

翻译自: https://code.tutsplus.com/articles/whats-new-in-xcode-9--cms-29654

Xcode 9有什么新功能?相关推荐

  1. Xcode 8新功能介绍

    概述 Xcode 8正式版在9月13日已经推送给开发者下载,下载之后就出现了很多编译错误,之前的插件也不能用了,但是发现Xcode8把好多不错的插件功能整合到自身了,感觉这点也挺不错. 结合自己遇到的 ...

  2. swift4 linux,Swift 4正式发布,新功能概览

    Swift最新的主要版本提供了针对语言本身以及标准库的大量改动和更新,最重要的变化包括新增的String功能.扩展集合.归档和序列化等. Swift 4中,String已全面遵循Collection协 ...

  3. ios设计登录功能_亲爱的产品设计师,这是iOS 14的新功能

    ios设计登录功能 On June 22, 2020 Apple previewed iOS 14 for the first time. As always there are quite some ...

  4. Visual Studio 2017 新功能(下)

    调试和诊断 运行时单击 只需在调试运行到此行时单击代码行旁边的图标. 无需再设置临时断点,也不必再执行多个步骤来执行代码和在所需行停止. 现在,调试器下停在中断状态时,"运行时单击" ...

  5. WWDC 2018: ARKit 2 的新功能

    本文是针对 Session 602: What's New in ARKit 2 的解读 ARKit 2 让我们用全新的方式与真实世界互动--多台 iOS 设备可以同时浏览同一个 AR 场景,或是玩多 ...

  6. 《iOS9开发快速入门》——第2章,第2.1节Xcode 7.0的新特性

    本节书摘来自异步社区<iOS9开发快速入门>一书中的第2章,第2.1节Xcode 7.0的新特性,作者 刘丽霞 , 邱晓华,更多章节内容可以访问云栖社区"异步社区"公众 ...

  7. xcode11 新功能_Xcode 11功能

    xcode11 新功能 WWDC 2019 is over and we can't wait to discuss what's in store for the developers. Today ...

  8. Delphi XE2有什么新功能

    具体内容见PDF Delphi XE2有什么新功能Delphi XE2提供(offers)了令人兴奋(exciting)的新功能,让您能够建立高度可视化的,在Windows,Mac和iOS上的业务应用 ...

  9. Win11 的这 19 个新功能,你都用上了吗?

    Windows 11 是 Windows 的新版本,现在正在向受支持的 PC 推出多项新功能和改进. Windows 11 于 10 月 5 日开始推出,微软也发布了 Windows 11 ISO 镜 ...

  10. iOS10 新特性-新功能,以及ReplayKit库

    iOS的10.0 本文总结了iOS的10,运行于目前推出iOS设备推出的主要开发者相关的功能. iOS版10引入了新的方法来增加您的应用程序通过帮助系统参与在适当的时候建议你的应用程序给用户.如果你在 ...

最新文章

  1. mysql python安装错误_mysql-python安装致命错误
  2. Android学习----AndroidManifest.xml文件解析
  3. .计算机自动关机或重启,电脑自动关机或者重启怎么处理
  4. python获取历史双色球数据_你的梦想,我来买单!Python分析双色球中奖号码竟成功获取特等奖
  5. Ververica Platform-阿里巴巴全新Flink企业版揭秘
  6. js原生实现贪吃蛇(解决连续键盘事件)
  7. 百一测评c语言两个数求和程序,2017计算机二级C语言考前测试题与答案
  8. 【分享】小工具大智慧之Sql执行工具
  9. Zabbix 安装配置
  10. QQ自动点赞PHP源码_QQ空间自动点赞脚本
  11. 服务器远程桌面连接不上(远程桌面连接服务器之超级VPS管理器)
  12. 计算机网络里的DHCP是什么,路由器设置中的dhcp是什么意思?
  13. 【git】------git的基本命令 (此文章转载我的老师 Alley-巷子)
  14. 掏库存分享——抖音平台上可以用来当背景音乐的歌曲
  15. 微信IOS访问页面,返回的时候页面空白
  16. 数据库总结(五):创建与使用视图
  17. Java学习笔记(九)抽象类
  18. Springboot使用Actuator健康监控以及可视化界面
  19. 食用盐的12个美容方法
  20. U盘加密软件怎么选?

热门文章

  1. avx指令+openmp多线程实现一个基本算法作业 c++
  2. 小白能读懂的 《手把手教你学DSP(TMS320X281X)》第四章(2) gel文件
  3. python飞机订票系统
  4. C语言的行指针和列指针
  5. WIN10杜比音效驱动安装[蓝奏云]
  6. 《精通脚本黑客》读本书吧
  7. 软件项目管理 2.2.项目招投标流程
  8. 软考计算机评职称,软考通过后如何评职称?
  9. win7电脑误删鼠标键盘驱动_Win7系统鼠标键盘驱动检测不到的三种解决方法
  10. 第一次使用CoolEdit Pro将歌曲音频做成伴奏