如何制作 iPhone 应用程序:第 2 部分

如何制作 iPhone 应用程序:第 2 部分

在本系列的第一部分中,我们介绍了组装一个可行的 iPhone 应用程序开发平台的“基本要素”。现在我们的桌面上堆满了乱七八糟的电缆,是时候撸起袖子开始拼凑一些代码了。

不过,首先要做的事情是。在开始开发下一款出色的美国应用程序之前,你必须完成两件事。一个是免费的,但另一个则需要你掏钱。

  • 成为注册的 iPhone 开发人员。这是免费的。没错,现在就去做吧;然后你就可以下载免费的 iPhone SDK(软件开发工具包;目前最新版本是 2.2.1)。请注意,正如本系列第一部分所述,要使用此 iPhone SDK,您还必须拥有基于 Intel 的 MacMac OS X 10.5.5。此外,您必须在成为单一实体开发人员(例如 Dave Prochnow)或公司开发人员(例如 Microsoft Corporation)之间做出选择。如果您选择走公司路线,您将被要求提供公司注册文件(例如联邦 TIN、合伙企业、有限责任公司或 S 公司文件)。
  • 订阅 iPhone 开发者计划。标准计划的订阅费用为 99 美元(加销售税),企业计划的订阅费用为 299 美元。大多数人都可以轻松接受 99 美元的标准计划订阅。做出选择后,您将被带到 Apple Store,在那里通过信用卡交易即可快速订阅一年的 iPhone 开发者计划。

注册并订阅后,登录 iPhone Dev Center 并开始下载所需的所有内容:SDK、视频、示例应用程序和文档。当然,您可能已经了解其中的一些内容,但您对 iPhone 的了解越多,开发应用程序就越容易。

请注意,我说的是“应该”更容易。这是因为,如果你对 Objective-C 编程语言和 Apple 的 Cocoa 开发环境缺乏扎实的基础,你可能会经历一段非常痛苦的学习过程。

幸运的是,有一些技巧和窍门可以帮助最大限度地减少这个学习曲线:

1. 不要重新发明轮子。找到一个与您的应用非常相似的 Apple 示例应用(无论是外观还是功能)。然后去掉 Apple 的内容并将您自己的代码集成到这个工作示例外壳中。

2. 从他人的错误中吸取教训。从 iTunes App Store 中挑选几款具有代表性的竞争对手的应用程序。借鉴他们做对的地方,并严格避免他们做错的地方。

3. 在高速公路上寻找巧妙的编程技巧。当你被难倒时(你会被难倒好几次甚至更多!),在网上搜索一个可以巧妙地处理与你类似的问题的代码片段或片段。

4. 创新是所有应用之母。不要随波逐流(市场需要多少粗糙的身体功能导向应用?)——而是要开创一种新潮流。

指示

学习一个全新的编程系统就像从消防水管中汲取一口水一样困难。所以,慢慢来,一旦你在 Objective-C 和 Cocoa touch 编程方面打下了坚实的基础,就该开始独立开发了。

一般来说,你的应用程序开发周期应该是这样的:

1. 构思您的应用概念。使用大而宽的笔触并创建初始应用设计文档。慢慢充实应用的所有细节。考虑图形、多媒体、字体、颜色、布局、组织、程序流程和应用目标。文档越详细,您的应用效果就越好。

2. 安装 SDK。这个 1.5GB 以上的庞大下载包里包含完整的 Apple Xcode Cocoa 开发环境。Xcode 的支持包括大量实用程序、文档和 Mac OS 示例代码。如果您希望体验 iPhone 开发的完整体验,则需要有效的网络连接来下载示例代码和其他参考库材料。但是,此网络连接对于 Xcode 操作并非必需。

3. 打开 Xcode 并创建您的项目。Xcode中有多个项目模板,可确保您不会搞砸此步骤。

Xcode IDE。戴夫·普洛斯诺

4. 构建界面。还有什么比拖放式界面设计更简单的呢?Xcode 中集成了一个名为 Interface Builder 的可视化开发实用程序。在 Interface Builder 中,您可以开发应用程序的完整外观和感觉,而无需编写一行代码。

Xcode 的界面构建器。Dave Prochnow

5. 编写代码。如果说 Interface Builder 是应用程序的骨架和血肉,那么代码就是血液和神经系统。没有代码,您的应用程序就只是一团毫无生气的废物。编写代码时要简洁、干净。

6. 构建它,它就会运行。您的第一级应用程序测试应该使用 Xcode 友好的 iPhone 模拟器进行。当您在项目中选择“构建并运行”时,Xcode 将编译您的代码并自动启动 iPhone 模拟器。这个 Xcode 实用程序非常适合快速评估应用程序的基本流程,但它不能替代在 iPhone 和 iPod touch 上进行的实际测试。事实上,这将是您应用程序开发过程中为您的项目创建“测试团队”的好时机。为了将测试人员添加到您的项目中,您必须从 iPhone 计划门户获取配置文件。通过您的 iPhone 开发人员计划订阅,可以访问此门户。明智地使用此功能。让您的项目测试人员为您的应用程序编写和安排测试场景。通过从第 1 步创建完整的应用程序设计文档,此过程将得到简化。

7. 测试一下。为了在真正的 iPhone 和 iPod touch 上测试您的应用程序,您必须对您的应用程序进行代码签名。这些证书是从您在步骤 6中使用的同一个 iPhone 程序门户获得的。让您的应用程序成功进行代码签名并在真实设备上加载可能很困难。以下是四个技巧,可确保您的应用程序可以在测试设备上运行:

  • 尽管 Apple 向我们保证这种“直接”编码是不必要的,但我发现它几乎总是必要的:不要依赖 info.plist 中的 bundle ID,而是将 iPhone 程序门户中实际的应用程序 ID 插入到 info.plist 的 bundle ID 字段中。
  • 在目标的获取信息按钮的构建列表的任意 iPhone OS 设备键下对您的应用程序进行代码签名。
  • 使用代码签名标识密钥(位于任何 iPhone OS 设备密钥的正上方)在同一个目标信息位置对你的应用进行代码签名。
  • “构建”菜单中选择“构建” —而不是“构建并运行”。

一旦您成功编译了应用程序包(该包的图标可能有一个白色的国际“否”符号 - 带有斜线的圆圈),请将其适当的配置文件发送给您的测试人员。

8. 微调。成功完成所有测试后,使用特殊的 Xcode 实用程序来测量和调整最终应用程序。这最后一步将确保您的应用程序成为任何 iPhone 和 iPod touch 的良好公民。

接下来,我们的第三集也是最后一集将把这只小猪推向市场!关注 Apple iTunes App Store 并跟踪我们的进展。

Xcode 的 iPhone 开发中心。Dave Prochnow

<<:  旧 iPod 里的新音乐

>>:  FIRST 竞赛中的机器人冒险

推荐阅读

安全专家发现,你的 iPhone 会记录你去过的所有地方

英国安全研究人员发现,iPhone 会跟踪用户去往何处,将数据保存到设备中,并在手机与 iTunes...

昼夜节律背后的科学,以及时间变化为何会扰乱昼夜节律

每年有两次,大多数美国人会面临一小时的时差。虽然时间可能不长,但仍然会给我们的日常生活带来重大影响。...

《我所认识的野生动物》的吸引力与评价——深入探究自然与动物的故事

我所认识的野生动物:关于自然和动物奇迹的动人故事■作品概要《我所认识的野生动物》是一部电视动画,于 ...

苹果发布了一款“空间计算机”。这意味着什么?

周一,苹果发布了备受期待的增强现实耳机 Vision Pro。该公司并没有将其作为虚拟现实耳机或 A...

观看:马克·扎克伯格华盛顿证词第二天

.embed-container { position: relative; padding-bot...

帝王蝶深受人们喜爱,但其数量却因这个可悲的原因而减少

过去三十年来,帝王蝶的数量一直在减少。这种标志性昆虫在北美面临着从除草剂到气候变化等一系列威胁,但目...

FCC 希望将人工智能生成的自动拨号电话定为非法

美国最高通信监管机构认为,根据现行法律,像最近在新罕布什尔州冒充总统乔·拜登的人工拨号电话这样的行为...

这个工具包漂浮在太空中

如今,有数百万块太空垃圾围绕地球运行,那么,垃圾云中多一点碎屑又算得了什么呢?根据 NASA 最近的...

灰熊生存:不射杀黄石公园狼的另一个理由

尽管所有受人尊敬的监管机构都表示,在黄石国家公园及其周边地区射杀狼对所有人都不利,但狼仍然遭到射杀。...

《我的毕业~未来~》~大家的歌~的感想与评论

NHK《大家的歌》中描绘的毕业故事《我的毕业~未来~》 《我的毕业~未来~》是1992年8月在NHK...

数字电视转换指南

上周《纽约时报》的一篇文章必定让那些使用兔耳天线的老式显像管电视机的读者感到恐惧。文章的笑点是:明年...

这款机器人担架未来可运送受伤的海军陆战队员离开战场

远征模块化自主车辆(EMAV)乍一看就像坦克的下半部分。它是履带式车辆,但体型小到可以装进 V-22...

科罗拉多州刚刚经历了有史以来最具破坏性的野火——发生在隆冬时节

上周四,一场意想不到的猛烈火灾席卷了科罗拉多州,短短几个小时内就烧毁了 6,000 英亩的土地。丹佛...

《天使之心》的魅力与评价:感人的故事和深刻的人物

天使之心:一段感人的深厚羁绊与重生的故事■作品概要《天使心》是改编自北条司同名漫画的电视动画。该 5...

土卫六上以甲烷为基础的生命可能是什么样子

尽管库尔特·冯内古特说了什么,但土星最大的卫星土卫六并不是一个很有趣的地方。这颗天然卫星的温度高达 ...