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或更高版本。