Xcode 9的新功能
Xcode是用于为Apple TVAppleWatchiPadiPhone和Mac创建应用程序的完整开发人员工具集。Xcode开发环境采用tvOS SDKwatchOS SDKiOS SDK和macOS SDK的形式捆绑Instruments分析工具、Simulator模拟器和OS框架.
Xcode9的亮点
Xcode 9包括整体质量改进以及广泛的新功能。
· 全新编辑。可以智能地突出显示和浏览代码通过快速基础结构的编辑器。并且支持强大的Markdown。
· 重构。重构内置于编辑体验之中并可跨SwiftObjective-CInterfaceBuilder和许多其他文件类型。
· 超快速搜索 “查找”导航器会立即返回结果。
· 调试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 - 主线程检查器。
· 检测未在主线程上进行的AppKitUIKit和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对象如纹理缓冲区和采样器。
重构· 在单个文件或跨SwiftCObjective-CC 文件和InterfaceBuilder文件的项目中重命名一个符号。
· 在一个编辑器窗格中查看所有可能的更改。
· 转换Swift和Objective-C格式之间的方法签名。
· 根据需要更新属性gettersetter和合成的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 4objc推断。
· 更快的通用代码和减少的代码大小。
测试· 新的Xcode9 - 并行设备测试。
· 向XCTest添加了新的API。
· 控制和捕获截图。
· 集体考试活动。
· 测试附件。
· 清理块中的清理测试状态。
· 在一个UI测试中定位多个应用。
· 使用指定的语言和区域运行测试。
Xcode服务器· Xcode 9中新增 - 内置Xcode服务器。
· 用于配置XcodeServer和设置Bot权限的首选项中的“新建服务器和工具”窗格。
· 增加了对2因素认证的支持。
· 更新了机器人的功能。
· 支持自动和手动配置工作流。
· 传递额外的参数xcodebuild。
· 在设备和模拟器上并行运行测试。
· 配置语言和区域进行测试。
· 发送“所有清除”电子邮件通知。
兼容性Xcode 9.0需要Mac运行macOSSierra 10.12.4或更高版本。