Xcode 9的新功能

Xcode是用于为Apple TV,AppleWatch,iPad,iPhone和Mac创建应用程序的完整开发人员工具集。Xcode开发环境采用tvOS SDK,watchOS SDK,iOS SDK和macOS SDK的形式捆绑Instruments分析工具、Simulator模拟器和OS框架.

Xcode9的亮点

Xcode 9包括整体质量改进以及广泛的新功能。

·      全新编辑。可以智能地突出显示和浏览代码通过快速,基础结构的编辑器。并且支持强大的Markdown。

·      重构。重构内置于编辑体验之中,并可跨Swift,Objective-C,InterfaceBuilder和许多其他文件类型。

·      超快速搜索 “查找”导航器会立即返回结果。

·      调试Debugging。通过网络无线调试iOS和tvOS设备,Metal的新调试器以及Xcode中的更多功能。

·      源代码管理SourceControl。所有新的源代码管理导航器和对GitHub帐户的集成支持能够快速浏览存储库并将其推送到云端。

·      Xcode服务器内置。运行连续集成机器人可以在任何具有Xcode9的Mac上运行,无需安装macOSServer。

·      新游乐场模板 新的iOS模板为在iPad上的Xcode和SwiftPlayground中运行良好而设计。

·      新建系统。Xcode新的构建系统的选择性预览提高了可靠性和性能。

通用General

·      更新了使用plist文件定义文本宏的方法。

·      为项目中的用户,项目或特定用户定义文本宏。

·       自定义新的文件头。有关更多信息,请参阅Xcode帮助中的自定义文件标题

·      更新了索引引擎,以便在编译时对索引文件进行索引。

·      将“设备”窗口拆分为设备和模拟器的单独窗格。


资源目录 Asset Catalogs

·       命名颜色支持。

·      添加了广泛的应用程序图标。

·      在AppIcon集中增加了一个较大的iOS营销图标。

·      添加了保留图像矢量数据以选择动态类型缩放的选项。

·      增加了对HEIF图像的支持。


构建与连接 Building and Linking

·       新的Xcode9 - Swift静态库支持。

·      增加了对包含Swift代码的静态库目标的支持。

·      Xcode 9中的新功能 - 在Swift中编写的新构建系统的预览。目前,该系统是可选的,但它将成为未来版本的Xcode中的默认设置

·      添加了一个以Swift编写的新构建系统的预览。

·      提供更高的可靠性

·      捕获许多项目配置问题。

·      提高了整体构建系统的性能。

注意,构建系统性能不包括构建系统使用的编译器,链接器和其他工具。

·      要选择项目或工作区的新构建系统,请选择“文件”>“项目设置”或“文件”>“工作区设置”,然后选择“构建系统”类型的“新建构建系统(预览)”。有关与现有项目兼容的注意事项,请参阅Xcode发行说明


    File> Project Settings or File > Workspace Settings, and then choose NewBuild System (Preview)  for the Build System type

 

功能Capabilities

·       iOS热点和多路径TCP的新配置。

·      新的网络配置,包括内容过滤,代理DNS查询以及代理TCP和UDP连接。

·      用于watchOS的新背景模式用于录音和转弯方向。

·      tvOS背景提取的新模式。


Core ML

·       新的Xcode9 – Core ML编辑器。

·      为模型生成强类型接口。

·      用于设备使用的模型编译。


调试

·      Xcode 9中的新功能 -iOS和tvOS设备的网络调试。

·      通过WiFi或有线网络调试iOS和tvOS设备。

·      通过Bonjour连接或输入IP地址。

·       要启用网络调试,请参阅Xcode帮助中的配对无线设备

·      新的Xcode9 - GPU帧捕获和GPU覆盖。

·      查看命令缓冲区,附件,资源和调用堆栈。

·      修改着色器并将更改保存到应用程序。

·      移动序列的时间轴。

·      检查和修改附件中各个像素的值,包括颜色值,Alpha,深度等。

·      通过最小化纹理带宽,最小化渲染像素的数量,禁用混合阶段,仅显示线框,以及缩放镶嵌数量,来实现渲染状态而不修改代码。

新的Xcode9 - Undefined Behavior Sanitizer

·       查找程序崩溃,意外行为以及与未来版本的Xcode不兼容的来源。

·      检测C语言中的几种类型的未定义行为,如整数溢出,无效的转换和对齐违规。

在方案编辑器的“诊断”窗格中启用未定义的行为消毒剂

·      新的Xcode9 - 主线程检查器。

·      检测未在主线程上进行的AppKit,UIKit和WebKit方法调用。

在调试期间自动启用,并且可以在方案编辑器的“诊断”选项卡中禁用。使用Swift和C语言的主线程检查器

主线程检查器与Swift和C语言一起使用。

·      通过深度过滤来增强断点导航器。

·      修改断点的视觉指标。

·      扩展视图调试器以显示视图控制器,并使用SceneKit和SpriteKit视图。

·      增强iOS电能表。


文档

·      新的统一浏览器,集成了参考,示例代码和文章。

·      改进文档搜索。

·      用于在页面之间导航的新跳转条。

·      集成示例代码下载。


仪器

·      用于在跟踪文档的图形区域中固定图形的新拆分视图。

·      将策略选择器移动到跟踪文档顶部的新工具栏中,并添加了一个新的All策略。

·      增强型金属调试仪。

·      金属系统跟踪VR支持查看事件,如合成器活动,姿势查询等。


界面生成器

·      从资产目录命名的颜色。

·      新的边际和基准视图约束。

·      自动布局安全区导游。

·      全屏WatchOS应用程序。


Metal2支持

·       Xcode9中的新功能 -Capture API。

·      在你的代码中定义明确的捕获边界。

·      使用新MTLCaptureManager类和新MTLCaptureScope协议来编程设置,管理和触发捕获边界。

·      使用扩展的XcodeGPU Capture UI手动启动和停止捕获。还可以使用Xcode来捕获应用程序中定义的API边界。

·      新的Xcode9 - GPU计数器。

·      分析有关特定GPU捕获的详细分析指标。在iOS和tvOS中,GPU计数器显示为命令编码器的时间线; 在macOS中,GPU计数器显示为绘制或调度调用的时间线。

·      检查渲染或计算流水线阶段的运行时性能,例如顶点着色器,片段着色器,计算内核等。

·      比较在每个流水线阶段花费的GPU时间来找到性能瓶颈。

·      Xcode 9中的新功能 -GPU言论。

·      在Metal着色语言代码中查找优化机会。

·      在着色器编辑器中调试特定于设备的运行时问题。

·      按照直接的解决方案和说明来改善你的代码。

·      Xcode 9中的新功能 - 智能过滤。

·      通过键入到调试导航器来查找特定的调试信息。当键入和突出显示匹配的文本(如资源,像素格式,功能名称,对象标签等)时,Xcode会动态显示建议。

·      通过从预定义的“Metal”对象菜单中选择选项来过滤搜索结果。

·      使用多个匹配条件的过滤器。

·      新的Xcode9 - 虚拟现实(VR)支持。

·      查看VR提交和左眼/右眼提交的表面。

·      纹理检查用于检查渲染目标中各个像素的值,如颜色,alpha,深度等。

·      检查缓冲区编辑器中的输出顶点属性。

·      数据提示支持Metal对象,如纹理,缓冲区和采样器。


重构

·      在单个文件或跨Swift,C,Objective-C,C ++文件和InterfaceBuilder文件的项目中重命名一个符号。

·      在一个编辑器窗格中查看所有可能的更改。

·      转换Swift和Objective-C格式之间的方法签名。

·      根据需要更新属性,getter,setter和合成的iVars。

·      用一个按钮应用一个修复程序到处。

·      自动填写交换机语句中的缺失情况,一键单击协议一致的强制性方法。

·      提取所有支持的语言的方法功能,以及其他语言特定的本地重构。


模拟器

·      Xcode 9中的新功能 - 多个并发模拟器。

·      同时运行多个模拟器。

·      并行运行更多测试。

·      测试同步和其他多设备工作流程。

·      iOS和WatchOS模拟器的新挡板包括硬件控制。使用挡板移动或调整模拟设备的大小。

·      从地图,照片和Safari与模拟器共享信息。

·      在关闭模拟设备或退出模拟器时,按住Option键,在关闭窗口后退出模拟器运行或退出模拟器,以便与命令行工具的simctl命令更好地集成xcrun

·      录制模拟器的视频。

·      通过选择帮助>模拟器帮助打开新的模拟器文档。


源代码管理

·      用于查看当前工作空间的分支,标签和远程存储库的新的源代码管理导航器。

·      新的源代码管理检查器显示所选导航器项目的详细信息。

·      分支历史的新编辑器,包括一个方便导航的跳转条。

·      文件差异的新的并行编辑器。

·      更容易和更快地访问常见任务。

·      GitHub帐户集成,方便浏览和一键创建项目和相关联的GitHub存储库。


源编辑

·      新的Xcode9 - 新的源代码编辑器。

·      更快更多功能查找和更换。

·      快速滚动任何大小的文件。

·      直接操纵代码结构,如令牌和块。

·      重新设计源代码管理的集成。

·      重新设计错误和警告消息的介绍。

·      支持Markdown。


迅速

·      Xcode 9中的新功能 -Swift 4。

·      Swift 4和Swift 3的一个编译器。可以在同一个项目中一起编译Swift4和Swift3目标。

·       改进的迁移体验,支持仅将选定目标迁移到Swift4.请参阅在Xcode帮助中迁移到Swift 4@objc推断

·      更快的通用代码和减少的代码大小。


测试

·      新的Xcode9 - 并行设备测试。

·      向XCTest添加了新的API。

·      控制和捕获截图。

·      集体考试活动。

·      测试附件。

·      清理块中的清理测试状态。

·      在一个UI测试中定位多个应用。

·      使用指定的语言和区域运行测试。


Xcode服务器

·      Xcode 9中新增 - 内置Xcode服务器。

·      用于配置XcodeServer和设置Bot权限的首选项中的“新建服务器和工具”窗格。

·      增加了对2因素认证的支持。

·      更新了机器人的功能。

·      支持自动和手动配置工作流。

·      传递额外的参数xcodebuild

·      在设备和模拟器上并行运行测试。

·      配置语言和区域进行测试。

·      发送“所有清除”电子邮件通知。


兼容性

Xcode 9.0需要Mac运行macOSSierra 10.12.4或更高版本。