《iOS应用开发》——1.2节启程

简介:

本节书摘来自异步社区《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)。


4bd5e2fcd78d28b74325d79ba3c47fc241953f48

1.2.2 创建项目
接下来,在上面打开的那个工作空间,新建一个项目。在Xcode中,选择菜单File > New > New Project。这样就会打开项目模板的表单(见图1.2)。Xcode为我们提供了多种项目模板。在左边的一列中,选择iOS > Application。然后选择Utility Application的图标,再点击Next。


dee1c93559453d69eaf3b7d9c332befdf0270668

现在,准备选择我们的项目的选项了(见图1.3)。在Product Name处输入Hello World。公司标识中应该填写能够识别出你的公司的特殊字符串。大多数情况下,我们会输入公司的域名,将层级顺序颠倒写。以顶级域名开始,接着是二级域名,最后写三级域名。例如,使用我的颠倒的博客域名:com.freelancemadscience。

接着,我们需要填写类的前缀。这个前缀会被自动添加到这个模板生成的所有类名称的前面。你可以使用任何你喜欢的前缀。只要尽量让它是唯一的就行(例如,避免使用NS或者UI,因为它们已经被苹果公司自带的框架库所使用了)。典型地,我会选择基于项目名称的缩写,在这里,输入HW。


275f61f1795816edc83099f8dc4b1672eef0e4e7

注意:
如果你是在撰写一个框架库或者程序库,那么,你就需要为你的所有的类添加前缀。这让其他的开发者在使用你的代码时不用担心名字会有冲突。同时,这也能更容易辨别出一个类的来源。例如,所有以“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会默认创建一个用项目名称命名的文件夹。


c5cc400aa352bc919c7bd114cd2efb22f82e33e2

你还也可以为这个项目创建一个git版本库。例如单元测试、源代码控制是一个非常好的理念,应该在你所有的项目中使用。我们将在第3章中开始使用源代码控制,并且在补充章节B的“管理源代码”部分更详细地讲述它的使用方法。然而此时,也不用选中Create local git repository for this project复选框。

完成了!单击Create按钮,Xcode就会创建你的项目。

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
2月前
|
iOS开发 开发者
苹果iOS App Store上架操作流程详解:从开发者账号到应用发布
很多开发者在开发完iOS APP、进行内测后,下一步就面临上架App Store,不过也有很多同学对APP上架App Store的流程不太了解,下面我们来说一下iOS APP上架App Store的具体流程,如有未涉及到的部分,大家可以及时咨询,共同探讨。
|
2月前
|
开发者 iOS开发
iOS应用上架详细图文教程(上)
App Store作为苹果官方的应用商店,审核严格周期长一直让用户头疼不已,很多app都“死”在了审核这一关,那我们就要放弃iOS用户了吗?当然不是!本期我们从iOS app上架流程开始梳理,详细了解下iOS app上架的那些事。
|
2月前
|
Swift iOS开发 开发者
iOS 应用上架流程详解
iOS 应用上架流程详解
|
2月前
|
Android开发 iOS开发 UED
appuploader   iOS 应用自动发布
appuploader   iOS 应用自动发布
|
3月前
|
存储 监控 iOS开发
iOS应用崩溃了,如何通过崩溃手机连接电脑查找日志方法
在iOS应用开发过程中,调试日志和奔溃日志是开发者必不可少的工具。当iOS手机崩溃时,我们可以连接电脑并使用Xcode Console等工具来查看日志。然而,这种方式可能不够方便,并且处理奔溃日志也相当繁琐。克魔助手的出现为开发者带来了极大的便利,本文将详细介绍其功能和使用方法。 克魔助手会提供两种日志,一种是实时的,一种的是崩溃的。(由于崩溃日志的环境很麻烦,目前只展示实时日志操作步骤)
|
3月前
|
存储 iOS开发
iOS 开发,如何进行应用的本地化(Localization)?
iOS 开发,如何进行应用的本地化(Localization)?
122 2
|
3月前
|
算法 iOS开发 UED
iOS如何进行应用的性能优化?
iOS如何进行应用的性能优化?
39 2
|
2月前
|
Linux 数据安全/隐私保护 iOS开发
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
如何使用 Xcode 打包导出 IPA 文件并进行 iOS 应用内测,无需支付苹果开发者账号费用?
|
27天前
|
安全 数据安全/隐私保护 虚拟化
iOS应用加固方案解析:ipa加固安全技术全面评测
iOS应用加固方案解析:ipa加固安全技术全面评测
36 3
|
1月前
|
运维 监控 安全
应用研发平台EMAS常见问题之sophix ios flutter热更新如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
77 0