背景:
Xcode 9 新特性介绍:
1、官方原文介绍链接
本文为官方介绍翻译而来,布局排版等都是按照官方布局来的。
与原文相比,排版上基本还是熟悉的配方,还是熟悉的味道~~
最后,有些翻译网上拿下来的不够通顺的,敬请谅解。
PS:本文没有新特性的详细介绍,知识单纯的搬运官方介绍,所以如果对一些功能点有兴趣,比如无线调试,集合Github等,可以看文章片尾。
文章片尾会放几篇关于新特性功能点的详细介绍的文章链接。
正文:
What's New in Xcode 9
Xcode是用于为Apple TV,Apple Watch,iPad,iPhone和Mac创建应用程序的完整开发人员工具集。Xcode开发环境采用tvOS SDK,watchOS SDK,iOSSDK和macOS SDK的形式捆绑Instruments分析工具,Simulator和OS框架。
Highlights of Xcode 9(Xcode 9的亮点)
Xcode 9包括整体质量改进以及广泛的新功能。
1、全新编辑。快速,基于结构的编辑器,可让您智能地突出显示和浏览代码。包括伟大的Markdown支持。
2、重构。重构内置于编辑体验之中,并可跨Swift,Objective-C,Interface Builder和许多其他文件类型。
3、超快速搜索。“查找”导航器会立即返回结果。
4、调试。通过网络无线调试iOS和tvOS设备,Metal的新调试器以及Xcode中的更多功能。
5、源控制。所有新的源代码管理导航器和集成的支持GitHub帐户可以快速浏览资源库并将您的存储库推向云端。
6、Xcode服务器内置。连续集成机器人可以在任何具有Xcode 9的Mac上运行,无需安装macOS Server。
7、新游乐场模板。包括iOS模板,旨在在iPad中的Xcode和Swift Playground中运行良好。
8、新建系统。Xcode新的构建系统的选择性预览提供了更高的可靠性和性能。
General(其他功能)
1、更新了使用plist文件定义文本宏的方式。
为项目中的用户,项目或特定用户定义文本宏。
自定义新的文件头。
有关更多信息。
2、更新了索引引擎,包括在编译文件时编制索引的能力。
3、设备窗口被分成用于设备和模拟器的单独窗格。
Asset Catalogs
1、命名颜色支持。
2、添加了广泛的应用程序图标。
3、为App图标集添加了更大的iOS营销。
4、添加了保留图像矢量数据以选择动态类型缩放的选项。
5、增加了HEIF图像的支持。
Building and Linking
1、添加了一个在Swift中编写的新构建系统的预览。
2、提供更高的可靠性。
3、捕获许多项目配置问题。
4、提高整体构建系统性能。
5、注意,构建系统性能不包括构建系统使用的编译器,链接器和其他工具。
6、目前可选,并将成为未来版本的Xcode的默认值。
7、要选择项目或工作区的新构建系统,请选择“文件”>“项目设置”或“文件”>“工作区设置”,然后选择“构建系统”类型的“新建构建系统(预览)”。
8、有关与现有项目兼容性的说明,请参阅Xcode版本说明。
Capabilities
1、iOS热点和多路径TCP的新配置。
2、新的网络配置,包括内容过滤,代理DNS查询以及代理TCP和UDP连接。
3、用于watchOS的新背景模式用于录音和转弯方向。
4、tvOS背景提取的新模式。
Core ML( 核心ML编辑器)
1、为模型生成强类型接口。
2、用于设备使用的模型编译。
Debugging
1、 iOS和tvOS设备的网络调试。
通过WiFi或有线网络调试iOS和tvOS设备。
通过Bonjour连接或输入IP地址。
需要插入iOS设备才能启用网络调试。
具体步骤:点击查看真机无线调试步骤
2、 GPU帧捕获和GPU覆盖。
查看命令缓冲区,附件,资源和调用堆栈。
修改着色器并将更改保存到您的应用程序。
移动序列的时间轴。
检查和修改附件中各个像素的值,包括颜色值,alpha,深度等。
通过最小化纹理带宽,最小化渲染像素的数量,禁用混合阶段,仅显示线框,以及缩放镶嵌的数量,来实现渲染状态而不修改代码。
3、 未定义的行为消毒剂。
使用未定义的行为消毒剂来查找程序崩溃的源,意外的行为以及与未来版本的Xcode的不兼容性。
检测C语言中的几种类型的未定义的行为,如整数溢出,无效的转换和对齐违规。
在方案编辑器的“诊断”窗格中启用未定义的行为消毒剂。
4、主线程检查器。
检测未在主线程上进行的AppKit,UIKit和WebKit方法调用。
在调试期间自动启用,并且可以在方案编辑器的“诊断”选项卡中禁用。
主线程检查器与Swift和C语言一起使用。
通过深度过滤来增强Breakpoint导航器。
添加了修改断点的可视指示符。
扩展视图调试器以显示视图控制器,并使用SceneKit和SpriteKit视图。
增强iOS电能表。
Documentation
新的统一浏览器,集成了参考,示例代码和文章。
改进文档搜索。
用于在页面之间导航的新跳转栏。
集成示例代码下载。
Instruments
用于在跟踪文档的图形区域中固定图形的新拆分视图。
添加了所有策略,并将策略选择器移动到跟踪文档顶部的新工具栏。
增强型金属调试仪。
金属系统跟踪VR支持查看事件,如合成器活动,姿势查询等
Interface Builder
增加了对资产目录使用命名颜色的支持。
增加了对新边距和基线视图约束的支持。
添加了对自动布局安全区域指南的支持。
增加了对全屏WatchOS应用程序的支持。
Metal 2 Support
1、 Capture API。
在你的代码中定义明确的捕获边界。
使用新MTLCaptureManager类和新MTLCaptureScope协议来编程设置,管理和触发捕获边界。
使用扩展的Xcode GPU Capture UI手动启动和停止捕获。您还可以使用Xcode来捕获应用程序中定义的API边界。
2、 GPU计数器。
分析有关特定GPU捕获的详细分析指标。在iOS和tvOS中,GPU计数器显示为命令编码器的时间线;在macOS中,GPU计数器显示为绘制或调度调用的时间线。
检查渲染或计算流水线阶段的运行时性能,例如顶点着色器,片段着色器,计算内核等。
比较每个流水线阶段花费的GPU时间量,以查找您的性能瓶颈。
3、 GPU备注。
在金属着色语言代码中查找优化机会。
在着色器编辑器中调试特定于设备的运行时问题。
遵循直接的解决方案和指示来改善您的代码。
4、 智能过滤。
通过键入到调试导航器来查找特定的调试信息。当您键入和突出显示匹配的文本(例如资源,像素格式,功能名称,对象标签等)时,Xcode会动态显示建议。
通过从预定义的Metal对象菜单中选择选项来过滤搜索结果。
使用多个匹配条件的多个过滤器。
5、 VR支持。
查看VR提交和左眼/右眼提交的表面。
添加了纹理检查,用于检查渲染目标中各个像素的值,如颜色,alpha,深度等。
添加检查输出顶点属性到缓冲区编辑器。
添加数据提示支持金属对象,如纹理,缓冲区和采样器。
Refactoring
跨Swift,C,Objective-C和C ++文件的全局重命名。
查看所有更改在一个地方。
转换Swift和Objective-C格式之间的方法签名。
根据需要更新属性,getter,setter和合成的iVars。
一个按钮更改。
修复 - 它会自动填充switch语句中的缺失情况,并且一键单击协议一致的强制性方法。
提取所有支持的语言的方法功能,以及其他语言特定的本地重构。
Simulator-模拟器
1、 多个并发模拟器。
同时运行多个模拟器。
并行运行更多测试项目。
测试同步和其他多设备工作流程。
适用于iOS和watchOS模拟器的新Chrome包括硬件控件,并允许轻松拖动和调整模拟设备的大小。
从地图,照片和Safari与模拟器共享信息。
添加了关闭窗口或退出模拟器后运行模拟器的选项,以便与命令行工具的simctl命令更好地集成xcrun。
录制模拟器的视频。
通过选择帮助>模拟器帮助获取帮助。
Source Control
新的源代码管理导航器,用于查看当前工作空间的分支,标签和远程存储库。
新的源代码管理检查器显示所选导航器项目的详细信息。
分支历史的新编辑器,包括一个方便导航的跳转杆。
文件差异的新的并行编辑器。
更容易和更快地访问常见任务。
GitHub帐户集成,轻松浏览和一键创建项目及相关的GitHub资源库。
Source Editing ( 源代码编辑器)
更快,更多功能查找和更换。
快速滚动任何大小的文件。
直接操纵代码结构,如令牌和块。
重新设计源代码管理的集成。
重新设计错误和警告消息的介绍。
支持Markdown。
Swift (新的Xcode 9 -Swift 4)
Swift 4和Swift 3,Swift 4和Swift 3目标的一个编译器可以在同一个项目中编译。
改进的迁移者体验,仅支持将选定目标迁移到Swift 4。
更快的通用代码和减少的代码大小。
Testing
并行测试装置
对XCTest添加了新的APIs
控制和捕捉截图。
团体测试活动。
测试附件。
在特有界面清理测试状态。
在一个UI测试中应用多个应用程序。
使用指定的语言和区域运行测试。
Xcode Server
新建在Xcode服务器。
在偏好配置中,配置Xcode服务器和BOT权限设置。
增加了双因素身份验证支持。
更新的机器人功能
支持自动和手动配置工作流。
传递额外的参数xcodebuild。
在设备和模拟器上并行运行测试。
为测试配置语言和区域。
发送“全部清除”电子邮件通知。
Compatibility-兼容性
Xcode 9.0需要运行MacOS Sierra 10.12.4或更高版本的Mac。
Installation-安装
Xcode 9 beta可以与以前版本的Xcode共存。
Xcode的预发行版本可从developer.apple.com提供给授权的种子开发人员,打包在压缩的XIP文件中。要在beta期间安装Xcode,请下载XIP文件,将其拖到“应用程序”文件夹中,然后双击该文件。XIP文件扩展到位。
注意:如果您在Safari首选项中启用了“打开”安全“文件下载”,则XIP文件将下载并自动扩展到您的下载文件夹中。在启动它之前将Xcode-beta拖到“应用程序”文件夹中。
在最终版本中,Xcode通过Mac App Store进行安装。
Developer Resources-开发人员资源
Apple开发人员计划提供对Apple Store,Apple App,iPad,iPhone和iPod touch设备的访问App Store,Mac App Store和Apple TV App Store,附加支持和文档以及用于测试和部署的资源。有关更多信息,请访问Apple开发人员计划网站。
访问Apple开发人员论坛,讨论任何苹果开发者软件,包括预发布产品。
有关最新的安全信息,请访问https://support.apple.com/kb/HT1222。
About SDKs and Simulator(关于SDK和模拟器)
软件开发工具包(SDK)是代表特定watchOS,iOS或macOS版本的API的框架(库,标头和资源)的集合。您的应用程序从SDK获取的大多数功能实际上由主机操作系统提供,这使得正确的基本SDK和操作系统部署目标设置对应用程序兼容性至关重要。Xcode自动构建最新的SDK并针对最新的操作系统。
如果您的应用程序不需要最新的操作系统功能,则可以使用Xcode项目设置中的“操作系统部署目标”选项将其配置为在先前版本的平台操作系统上运行。如果您的项目是在旧版本的Xcode中创建的,您可以让Xcode更新您的项目。有关此功能的详细信息,请参阅项目现代化。
重要提示:在将应用程序提交到App Store之前,您必须在运行受支持的目标操作系统版本或版本的设备上进行测试。
Automatic Signing(自动签名)
如果您正在处理尚未更新到当前签名过程的旧项目,则对签名过程的更改可能会阻碍您的开发。
企业和App Store开发人员帐户的推荐方法是在开发和分发期间使用Xcode自动签名代码签名应用程序。有关自动签名的文档,请参阅Xcode帮助。如果您的旧项目未配置为使用自动签名,请阅读技术问答(QA1814)“设置自动配置的Xcode”,以了解可以重新配置Xcode项目的过程。
在使用其他技术之前,应考虑自动签名,但如果您的项目需要手动签名,请在Xcode帮助中搜索“手动签名”以查看当前的手动签名实践。
Project Modernization(项目现代化)
当您打开一个项目时,Xcode对其进行评估,以查看是否应更新任何设置。此功能提供了一个简单的方法来确保您的项目符合最新的SDK和最佳做法。
打开问题导航器以查看是否需要更新项目中的任何内容。您也可以在项目导航器中选择项目,然后选择编辑器>验证设置。
如果问题导航器列出了现代化问题,请单击该问题以查看一个对话框,以解释应该进行的更新,并允许您执行任何或所有更新。
单击执行更改后,无论是否选择进行所有更改,Xcode都不会再次显示警告。要重新运行检查,请在项目导航器中选择项目,然后选择编辑器>验证设置。