本节书摘来自异步社区《iOS应用开发》一书中的第1章,第1.2节启程,作者【美】Richard Warren,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.2 启程
iOS应用开发
无论你去问哪个工匠,他都会说:如果要成功,就必须要有适合工作的工具。对于iOS开发来说,你必须有一台运行OS X 10.7或者更高版本系统的苹果电脑和一份Xcode 4.2。如果你想要在iOS真机设备上运行你的程序,那么你还需要准备一个兼容的设备(iPhone、iPod touch或者iPad),并且还需要有相应的开发证书/供给配置文件(developer/ provisioning profiles)。我们将在第3章“应用程序体系结构”一节中进一步阐述供给配置文件。现在,我们先从苹果公司的Mac App Store下载最新版本的Xcode。它对于任何运行OS X Lion系统的用户都是免费下载的,目前为止,这也是保证你的开发工具及时更新的最便捷的方式。
为了在iOS设备上测试你的应用程序,并且将它提交到苹果公司的iTunes App Store,你需要加入iOS开发者计划(iOS Developer Program)。但是,目前我们可以使用Xcode创建应用程序,然后在模拟器上进行测试。这是一个很好的起点。
Xcode是一个集成开发环境,是专门为开发Mac OS X和iOS两个系统的应用程序而设计。正如它的名称所示,集成开发环境不仅仅是文本编辑器,而是一个一些相关联的工具套件,不仅能帮助你组织、编辑、调试程序,还能帮助你管理程序最终所需的所有资源。通过Xcode你可以可视化地设计用户界面,在iOS模拟器中测试和运行你的程序,单步调试代码指令,分析应用程序的性能等。
注意:
这本书中的所有项目都将会用Xcode 4.2以及iOS SDK 5.0来开发。以后的版本毫无疑问将会与本书中的叙述有所差异。菜单选项和项目模板可能会发生改变,甚至SDK的版本更新都可能会影响项目的编译和运行。如果你使用的是Xcode或者SDK的更新版本,书中所讲的仍然还是适用的,但是要准备好自己做一点点挖掘和探索。
一旦你下载和安装好Xcode(大约4GB,需要有点耐心哦),那么启动它,让我们开始吧!
1.2.1 创建工作空间
我们将以创建一个新的工作空间作为开始。在Xcode 4中,工作区是一个用来将相关项目组织在一起的虚拟盒子。工作空间还包含构建和启动这些项目的方案(scheme),以及其他相关的数据。Xcode可以让你在整个工作空间中查找文件,并且支持整个工作空间范围内的文件索引。这让诸如代码自动完成、跳转到定义、重构等特征能在整个工作空间中流畅地运行。
工作空间让我们可以组织自己的项目。它并不会规定某个项目存储在什么地方或是以何种方式存储。每个工作空间可以包含任意数量的项目,每个项目又可以在多个工作空间中存在。这让开发者在组织自己的开发工作时有了更大的灵活性。你甚至可以创建一个专门用来完成特殊任务的工作空间。例如,你可以创建一个用于单元测试的工作空间;再创建一个用于调试的工作空间;还可以再创建另外一个用于性能测试的工作空间。
你也可以不创建工作空间,就从一个单独的项目开始。那么,就让我们创建一个将包含本书所有项目的工作空间吧!在Xcode里选择菜单File > New > New Workspace。将这个工作空间命名为iOS Development,选择一个保存位置,点击Save。Xcode就会打开一个窗口,窗口里边显示你创建的空白工作空间:没有文件,没有编辑器,也没有方案(见图1.1)。
1.2.2 创建项目
接下来,在上面打开的那个工作空间,新建一个项目。在Xcode中,选择菜单File > New > New Project。这样就会打开项目模板的表单(见图1.2)。Xcode为我们提供了多种项目模板。在左边的一列中,选择iOS > Application。然后选择Utility Application的图标,再点击Next。
现在,准备选择我们的项目的选项了(见图1.3)。在Product Name处输入Hello World。公司标识中应该填写能够识别出你的公司的特殊字符串。大多数情况下,我们会输入公司的域名,将层级顺序颠倒写。以顶级域名开始,接着是二级域名,最后写三级域名。例如,使用我的颠倒的博客域名:com.freelancemadscience。
接着,我们需要填写类的前缀。这个前缀会被自动添加到这个模板生成的所有类名称的前面。你可以使用任何你喜欢的前缀。只要尽量让它是唯一的就行(例如,避免使用NS或者UI,因为它们已经被苹果公司自带的框架库所使用了)。典型地,我会选择基于项目名称的缩写,在这里,输入HW。
注意:
如果你是在撰写一个框架库或者程序库,那么,你就需要为你的所有的类添加前缀。这让其他的开发者在使用你的代码时不用担心名字会有冲突。同时,这也能更容易辨别出一个类的来源。例如,所有以“RGS”开头的类都来源于我的ReallyGreatStuff框架库。然而,如果你仅仅是在撰写一个应用程序,那么就不需要前缀,而且通常前缀会让你的代码更难阅读。虽然这样,我还是让Xcode为自动生成的这些文件加上前缀,这就能让它们与我们自己创建的类区分开来。
确保在Device Family弹出菜单中选中iPhone,并且也选中Use Storyboard复选框,而Use Core Data复选框不用选中。接着,确保选中Use Automatic Reference Counting选项。我们将在第2章“介绍ARC”一节讨论自动引用计数技术。此时,只要知道这将会使撰写代码变 得更加容易就足够了。我们总是比较愿意在新的项目中使用自动引用计数。
最后,我们通常要将单元测试包含在我们的项目中。我们将在补充章节B中讨论单元测试(同样也登载在www.freelancemadscience.com/ book上),但是现在我们还是不要选中Include Unit Tests复选框。点击Next按钮。我们得为应用程序选择一个存储的位置(见图1.4)。选择一个你认为最好的位置。我通常会将它放在与主工作空间相同的文件夹里。Xcode会默认创建一个用项目名称命名的文件夹。
你还也可以为这个项目创建一个git版本库。例如单元测试、源代码控制是一个非常好的理念,应该在你所有的项目中使用。我们将在第3章中开始使用源代码控制,并且在补充章节B的“管理源代码”部分更详细地讲述它的使用方法。然而此时,也不用选中Create local git repository for this project复选框。
完成了!单击Create按钮,Xcode就会创建你的项目。