关于Xcode
Xcode是苹果的集成开发环境(IDE),开发者可用其构建适用于苹果iPad、iPhone以及Mac设备的应用程序。在应用程序的创建、测试、优化以及提交至App Store的过程中,Xcode为开发者提供了用以管理整个开发工作流的工具。
概览
从Mac的App Store app中免费下载Xcode。下载完成后,Xcode会自动出现在系统的Launchpad中,点击Xcode图标即可打开。
单窗口界面(Single-Window Interface)
Xcode在单工作区窗口集成了代码编辑、UI设计、资产管理、测试以及调试等版块儿,这些窗口会根据开发者的工作重新配置内容。比如在某个区域选中一个文件,相应的编辑器会在另一个区域被打开。选中一个符号或者UI对象,那么其文档将会出现在紧邻的面板中。
您可以仅展示所需内容来专注于某项任务,比如仅展示源码或UI布局。或者您可以编码和UI布局同时进行。您可以打开多个窗口或者在每个窗口上打开多个Tab来进一步自定义环境。
相关章节:Develop Your App in the Workspace Window, Maintain Your Code and Other Resources in Projects or Workspaces.
辅助源码编辑
无论您使用Objective-C, Swift, C, C++,或者是混合使用这些语言,Xcode都会在您输入时进行检测。当Xcode注意到一个错误时,如果可能,源码编辑器会对错误进行高亮显示,并提供修复。Xcode可通过智能补全功能来加快您的输入,可使用现成的代码片段或者源文件模板来进一步降低您的输入。在Swift中,Playgrounds可让您无需构建和运行应用程序即可进行交互式的编码体验。
您可以简单地配置源码编辑器来展示同一文件的多个视图,或者一次查看多个相关文件。搜索、替代和重构操作可帮您快速安全地对代码进行大量修改。通过各种各样的功能,Xcode让您编写高质量代码变得前所未有的简单。
相关章节: Write Code in the Source Editor.
图形用户界面设计
Interface Builder(IB) 是一款集成在Xcode中的可视化设计编辑器。开发者可使用IB组合窗口、界面、控件、菜单以及其他元素(可配置对象库或者或你创建的库中的元素),从而构建iOS或者Mac app的用户界面。开发者可使用Storyboards来指定应用程序的flow,以及场景间的过渡,然后根据执行代码图形化地连接对象和过渡。
使用Xcode的Auto Layout特性为项目定义约束,以便其能根据屏幕尺寸、窗口尺寸以及本地化自动调整。使用Size Classes为任何屏幕尺寸组合和方向调整您的移动UI:自定义Auto Layout约束,添加或者移除是视图,甚至是改变字体。
Xcode中的资产目录可帮您管理即将用到app用户界面中的多张图片-比如icon、自定义美术作品以及启动图片等。通过Xcode的粒子发射器,您可以通过添加动画效果来提高iOS或Mac游戏的水平,比如雪花、火花以及烟雾。对于Mac 应用程序来说,SceneKit编辑器可帮您使用3D创作工具创建的场景,并将其作为数字资产交换(DAE)文件输出。
相关章节:Build a User Interface and Add Icons, Images, and Effects.
Integrated Debugging集成调试
当Xcode在调试模式中启动应用程序时,它会立即开启调试会话。如果您运行的是一款iOS app,那么Xcode将在iOS模拟器或者连接至Mac的iOS设备上启用它。如果您运行的是一款Mac app,那么Xcode将直接在您的Mac上打开它。
您可以直接在源码编辑器中调试应用程序。通过在变量名称上移动鼠标来查看对象的内容,然后使用Quick Look来检测某个特殊值。调试区和调试导航器可让您在检查代码的时候谨慎地控制应用程序的执行。对于更加精细的控制,控制台会提供命令行来访问调试器。
调试仪表板会展示应用程序的资源消耗情况,以帮您在用户发现问题之前确定其所在。
相关章节:Run Your App 和 Debug Your App.
测试和持续集成
为了帮您开发一款高质量的应用程序,Xcode包含了可用于功能和性能测试的测试框架。您可以编写测试用例并使用测试导航器来运行测试并查看测试结果。你可以进行单元测试。性能测试可确保app的重要部分不会让用户等待。为定期运行测试设置触发器,以便您能捕捉代码和性能中的回归缺陷(regression bugs)。
在测试导航器中中运行您的测试,查看测试结果,并作任何所需的更改来通过测试。您可以使用Xcode service来自动执行测试。你可以创建运行在单独服务器上 bots 来定期执行单元测试,或者是每次提交源码时执行任务。
除了运行单元测试外,bots会基于代码自动执行静态分析,构建您的应用程序,并归档项目用于分发给测试者或者提交至App Store。虽然可执行app的这些持续集成,但是bots也会报告编译错误、警告、静态分析器问题以及失败的单元测试。
相关章节:Test Your App
自动保存、工程快照以及源码控制管理
工作过程中,Xcode会自动保存您对源码和项目文件所做的更改。该功能无需配置,因为Xcode会持续跟踪您的更改并保存它们,您可以通过Undo和Revert Document命令将文件恢复至先前的状态。
您可以通过Restore Snapshot命令将整个项目恢复至此前版本的快照。快照使得备份工程当前版本变得非常容易。你可以通过File > Create Snapshot创建快照,也可以在执行大量编辑操作之前将Xcode设置为自动创建快照,并将其作为工作流的一部分。
想要更精确地跟踪所做的变化,可使用Xcode的源码控制功能。Xcode支持两种流行的源码控制系统:Git和Subversion。您可以访问远程Git和Subversion源码仓库,并创建本地Git仓库。通过适用于OS X Server 的Xcode service,您可以将Git仓库托管在自己的服务器上。
相关章节:Save and Revert Changes.
完善的文档
当您编码时,Xcode可为您提供详细的技术信息。根据需要,Quick Help可在视图内为您提供简明的API信息。通过一步步指示来执行常规的Xcode任务,你会发现Xcode帮助信息俯拾皆是。
Xcode包含大量使用方面的文档,并且提供了全面的SDK文档,包括编程指南、教程、示例代码、详细的框架API参考以及苹果工程师的演示视频。所有这些资源可在Xcode文档查看器中找到,并且可通过后台自动下载来更新文档。
将应用程序分发给测试者或者提交至App Store
您的大部分时间都花在编码任务上,但是针对App Store进行开发,您需要在app的生命周期内执行一系类的管理任务。除了Xcode,您还需要使用Member Center 来管理开发者计划账户和权益,您也将会使用iTunes Connect 检查合同的状态、设置税金和银行信息,获得营收和财务报告,并管理app的元数据。
Xcode项目配置有助于将您的应用程序分发给测试者和提交至App Store。提交至App Store是一个多步过程,从您签署 iTunes Connect和提供必要的产品信息开始。在Xcode中,您需要创建项目的档案并提交至商店。当应用程序通过审核后,您可以使用iTunes Connect设置发布日期。(如果您在商店之外分发Mac app,您需要遵守一个略有不同的进程步骤)
另请参阅
本文档中所用截图均来自 code:Explained Adventure中的Adventure Xcode工程。想要在Mac上研究本文档中描述的Xcode特性,请从App Store中下载Xcode,然后点击本段中的链接下载Adventure工程。
该指南为您介绍了Xcode的主要特性和功能。想要亲身实践Xcode的使用,请阅读Start Developing iOS Apps Today或Start Developing Mac Apps Today。在这些文档中,您可以使用Xcode创建一个简单的应用程序,并学习基本的Objective-C编程指南。