Xcode是开发者为Apple TV, Apple Watch, iPad, iPhone, 和Mac开发应用的完整工具箱。Xcode开发环境捆绑了分析工具(analysis tool),模拟器(Simulator)和tvOS SDKs, watchOS SDKs, iOS SDKs, macOS SDK形式的OS组件。
所需配置
Xcode 10需要装有macOS 10.13.4或更高版本的Mac
Xcode 10包含了iOS 12, watchOS 5, macOS 10.14, 和tvOS 12的SDKs
Xcode 10支持运行多并发版本的Xcode应用,同时支持所有相关工具比如模拟器
Xcode 10可与之前版本的Xcode共存
黑暗模式
macOS Mojave拥有一个新的黑暗界面,这也给Xcode 10带来了黑暗模式。你可以在System Preferences里开关它。
Xcode 10也提供了强大的工具来创建你自己的黑暗模式macOS应用。Interface Builder让你能快速切换你的设计,并从亮到暗预览。
你可以在调试的时候就开启/关闭应用的黑暗模式。这全部可以在Xcode中控制,只作用于当前app。并不需要改变你的系统设置。
演示视频:https://youtu.be/FjjyCFeitO0
总体上看
库(Library)内容从Inspector区的底部移动到了一个重叠窗口中,这个窗口可以移动或调整大小,就像Spotlight search一样。在拖动物品时它会解除,
但在拖动前按住Option键,它就会为一个额外的拖动保持开启。
库可以通过一个新的工具栏按钮开启,通过View > Libraries菜单,或者快捷键。内容会动态匹配当前活动的编辑器,所以同样的UI提供了通向代码片段(code snippets),Interface Builder, SpriteKit, 或SceneKit项的路径。媒体库(media library)通过长按工具栏的按钮可以激活,即View > Libraries菜单,或者快捷键。
演示视频:https://youtu.be/8KUy5JwrW8k
自定义的代码片段现在也可以添加到库中了,通过Editor > Create Code Snippet菜单项。
新创建的方案现在可以被一个Xcode项目下所有用户共享。要建立一个私人方案,需要在” Manage Schemes”页中不勾选“Shared”选项。
Source Editor
Xcode 10 Source Editor现在支持多光标编辑,允许你快速同时编辑多范围的代码。你可以通过多种方式放置额外的光标,包括鼠标点击方式,或通过选择列,或通过键盘的选择上一列,或选择下一列。
演示视频:https://youtu.be/F2dzqIpWlN0
对于一个可以源控制的项目,源编辑器(source editor)会显示出某个开发者做出的改变并展示其他开发者做出的还未添加到项目中的改变。
Interface Builder
Canvas条上的Stack按钮被一个pop-up菜单替代,这个菜单包含了所有嵌入选项可供选择
演示视频:https://youtu.be/__v6MEM-6t4
在Attributes inspector中用于选择字体的菜单现在可以为每种字体显示预览。
Asset目录中那些使用已命名颜色的Controls,现在会随着颜色参数的改变更新。
图像与颜色中引用到一个asset目录资源的检查器(inspector)属性,会有一个导航键,能跳到该资源上。Option + click会在Assistant Editor中展示这个资源。
Asset目录
对于macOS 10.14与更高版本,支持不同的图像与颜色assets的亮暗与高对比度表现。
支持CarPlay assets.
支持ARKit 3D ARReferenceObject assets.
Asset目录与视图调试器(view debugger)的背景可以被明确设定成亮或暗,这样前景的元素就会明显看出来。
调试(Debugging)
Xcode的视图调试器添加了一个选项,可以选择亮暗canvas背景色。
你可以改变你macOS应用运行时的外观,通过使用Debug > View Debugging > Appearance menu,或调试栏中的Override Appearance菜单,或接触栏(touch bar)
检查器(inspector)中展示的已命名颜色在调试时会显示它们的名字以及它们是否为系统颜色
创建系统(Build System)
Xcode 10使用了一个新的创建系统。新创建系统提供了更好的可靠性与创建性能,它可以获取项目配置问题,而legacy创建系统则不能。
Legacy创建系统在Xcode 10中依旧可用。要想使用的话,在File > Project/Workspace Settings页选择它。为legacy创建系统配置过的项目会在Activity View显示一个橘黄锤子标签
测试
Xcode 10支持平行测试(parallel testing),这缩短了测试运行的时间。macOS单元测试支持测试平行(Test parallelization),它也被 iOS与tvOS模拟器的单元与UI测试支持。为了开启它·,找到方案编辑器 (Product > Scheme > Edit Scheme),选择拥有info标签的Test动作,之后在你的测试目标旁边,点击Options。最后选择Execute in parallel(对于macOS测试),或Execute in parallel on Simulator(对于iOS与tvOS测试)
Xcodebuild有新的命令行选项,用于控制平行测试的表现。使用- parallel-testing-enabled来覆盖方案中per-target设定,来决定是否允许并行。如果你想控制启用的运行器(runners)数量,使用- parallel-testing-worker-count或-maximum-parallel-testing-workers.
签名与发布
Xcode 的Organizer 中的Developer ID发布选项现在可以为上传到苹果的应用提供认证支持。在建立一个档案后,可以在Organizer中通过点击Distribute App按键选这个选项,之后选择Developer ID方法与上传地址。要想你上传的应用被认证,你必须在Xcode的Accounts preferences pane中输入一个Apple ID,并填写所需的App Store Connect role与提供者资格,此外,认证应用还需要有开发者ID证书签名。如果需要的话,发布的工作流程可以生成这个证书,但是需要一个苹果ID账户与Agent role。
在上传的应用被认证后,你可以在Organizer窗口中选择你的档案并点击Show Status Log按钮,这样就能查看应用的状态。当你收到告知应用被认证的通知后,你可以在Organizer窗口选择你的档案并点击Export App按钮,来推出你的应用。推出的应用包含一个附加的票据,并已经准备好发布
支持通过命令行向苹果上传应用。如果提供的ExportOptions.plist包含destination命名的关键字并拥有upload值,就可以用xcodebuild –exportArchive命令实现上传。此外,拥有所需App Store Connect role与提供者资格的Apple ID账户也必须被添加到Xcode的Accounts preference pane中。
app-store, developer-id, 与validation发布方法都被xcodebuild支持使用
源控制(Source Control)
现在Xcode支持直接使用一些源代码合作平台,包括:
GitHub 与 GitHub Enterprise
Bitbucket Cloud 与 Bitbucket Server
GitLab.com 与 GitLab self-hosted