《 iPhone 开发秘籍》
很少有平台能够与 iPhone 独特的开发技术相提并论。 iPhone 将基于 OS X 的移动计算与创新的多点触摸屏幕、位置感知、机载加速计等结合在一起。苹果公司于 2008 年 3 月初发布 iPhone Cocoa Touch SDK Beta 版时,开发人员的热烈反应让苹果公司的服务器忙得不可开交。在不到一周的时间内, SDK 就被下载了 10 万多次。本书就是为了让 iPhone 编 程初学者能够访问这些资源。
本书的目标读者
本书面向新 的 iPhone 开 发人员,他们马上要开发实际项目,但面对着一个全新的 SDK 。虽然每位程序员创建表格的目标和经验并不相同,但大多数人都需要在其开发工作中解决类似的任务:如何构建表格,如何创建安全 的密钥链 条目,如何搜索 地址簿, 如何在视图之间切换,以及如何使用 Core Location 。
本书针对的正好是刚开始接触 iPhone 编程 的学习者。通过清晰、内容完备的示例,读者可以迅速起步并开始高效率的开发。书中给出了经过测试的、现成可用的解决方案,程序员可以专注于应用程序的具体部分,而不必为样本式的任务劳神。
本书的组织结构
本书针 对 iPhone 开发新手面对的大多数常见问题逐一提供了解决方案:布置界面元素,响应用户操作,访问本地数据源并连接到因特网 。本书按示例进行组织,因此代码拿来就可以使用,非常方便。程序员可以在自己的项目中使用书中的源代码,然后根据需要进行定制。每章都将相关的任务归类在一起。读者可以直接到所需的问题类别查找解决方案,而不需要总去琢磨哪些类或框架最适合当前问题。
下面概述了本书中各章的内容。
第 1 章 : iPhone SDK 简介
第 1 章介绍 iPhone SDK 并将 iPhone 作为交付平台进行研究,包括平台的限制等。它对标准 iPhone 应用程序进行了细化的分类,并指导你构建第一个 Hello World 样式的示例。
第 2 章:视图
第 2 章介绍屏幕上的 iPhone 视图及对象。你将了解如何对视图进行布置、创建和排序,以创建 iPhone 应用程序的骨架。还会了解视图层次结构、几何方法和动画,以及用户如何通过触摸与视图进行交互。
第 3 章:视图控制器
iPhone 范型具体而言就是:小屏幕和大虚拟世界。在第 3 章中,你将探索各种 UIView- Controller 类,使用这些类可以对用户所交互的虚拟空间进行扩大和排序。你将学习如何在 iPhone 应用程序屏幕之间导航时让这些强大的对象执行所有繁重的任务。
第 4 章:警告用户
iPhone 为用户提供了多种警告方式,从弹出对话框和进度栏到音频提示和状态栏更新。第 4 章展示如何将这些指示功能构建到应用程序中,并扩展用户警告词汇库。
第 5 章:基本表格
表格提供了在小型受限设备上获得出色运行效果的交互类。 iPhone 和 iPod touch 随带的许多乃至大部分应用程序都以表格为中心,包括 Settings 、 YouTube 、 Stocks 和 Weather 。第 5 章展示 iPhone 表格的工作方式,哪些表格对于开发人员可用,以及如何在自己的程序中使用表格特性。
第 6 章:高级表格
iPhone 表格并不仅限于简单的滚动列表。你可以构建分为多个部分(各部分都有自己的标题)、带多个滚动栏的表格。你可以添加开关之类的控件,创建半透明单元背景,以及添加自定义字体。第 6 章以第 5 章的内容为基础,介绍可在 iPhone 程序中使用的高级表格秘诀。
第 7 章:媒体
不负众望, iPhone 可以加载并显示各种格式的媒体。它可以播放音乐和电影,处理图像和 Web 页面。也可以呈现 PDF 文档和相册。第 7 章介绍用多种方法将数据导入或下载到程序中,并使用 iPhone 的多点触摸界面显示这些数据。
第 8 章 : 控件
UIControl 类为许多 iPhone 交互式元素提供了基础,包括按钮、文本字段、滑块和开关。第 8 章通过已经或尚未用文档细致记录的 SDK 调用来介绍控件及其用法。
第 9 章:人物、地点和事件
除了在任意计算机上都可看到的标准用户界面控件和媒体组件, iPhone SDK 还提供了大量特定于 iPhone 和 iPod touch 交付的专门的开发人员解决方案。第 9 章介绍其中最有用的解决方案,包括 地址簿 访问(人物)、 Core Location (地点)和传感器(事件)。
第 10 章:连接服务
作为一种可与因特网连接的设备, iPhone 非常适用于订阅基于 Web 的服务。苹果公司通过其在各类网络计算服务方面的坚实基础以及支持技术丰富了这种平台。 iPhone SDK 可处理套接字、密码密钥链、 SQL 访问、 XML 处理等。第 10 章将探讨常用的网络计算技术,并提供能简化日常工作的方法。
第 11 章 : Cover Flow 编程
虽然 Cover Flow 并未正式包含在 iPhone SDK 中,但它仍然提供了 iPhone 体验中最优秀的特性之一。使用 Cover Flow ,能为用户提供极为出色的视觉选择体验,这一点令标准的滚动列表望尘莫及。第 11 章介绍 Cover Flow 并展示如何在应用程序中使用它。
前提条件
开始针对 iPhone 或 iPod touch 进行编程的基本条件为如下所示。
<!-- [if !supportLists]-->q <!-- [endif]-->苹果公司 iPhone SDK 的一个副本 。从苹果公司的 iPhone 开发人员中心 ( http://developer. apple.com/iphone/ ) 下载 iPhone SDK 副本。下载之前,你必须加入苹果公司的(免费的)开发人员计划。
<!-- [if !supportLists]-->q <!-- [endif]-->一台 iPhone 或 iPod touch 。虽然苹果公司将仿真器作为其 SDK 的一部分提供 , 但如果你要开发任何正规的软件,则确实需要通过一台实际设备进行测试。可以使用 iPhone 或 iPod touch 随带的电缆将你的设备连接到计算机,并安装已经创建好的软件。
<!-- [if !supportLists]-->q <!-- [endif]-->苹果公司的 iPhone 开发人员许可证 。 要在实际的 iPhone 或 iPod touch 上测试软件,必须加入 苹果公司的 iPhone 开发人员计划( http://developer.apple.com/iphone/program )。该计划的成员将收到认证信息,从而能够签署自己的应用程序并将它们下载到当前平台进行测试和调试。加入该计划的费用为:个人 99 美元 / 年,公司 299 美元 / 年(限企业内部开发)。
<!-- [if !supportLists]-->q <!-- [endif]-->基于 Intel 的 Macintosh ( 运行 Leopard ) 。 SDK 要求 Macintosh 运行 Leopard OS X 10.5.3 或更高版本。苹果公司要求基于 Intel 并且使用 32 位模式的计算机。许多特性在基于 PPC 的 Mac 或 Intel Mac 的 64 位模式下都无法正常工作。同时,要具有足够的磁盘空间以及至 少 1 GB 的 RAM 。
<!-- [if !supportLists]-->q <!-- [endif]-->至少一个可用的 USB 2.0 端口 。使用该端口可将 iPhone 或 iPod touch 连接到计算机,进行文件传输和测试。
<!-- [if !supportLists]-->q <!-- [endif]-->因特网连接 。使用此连接能够通过动态 WiFi 连接和 EDGE 来测试程序。
<!-- [if !supportLists]-->q <!-- [endif]-->熟悉 Objective-C 。 SDK 围绕 Objective-C 2.0 构建。该语言基于标准 C 和面向对象扩展。如果你具备一些面向对象和 C 的背景知识,那么转向 Objective-C 是非常快速和简单的。参阅 Objective-C/Cocoa 图书,尽快入门 。
说明 虽然 SDK支持 iPhone和 iPod touch开发,还可能支持尚未发布的平台,但为简单起见,本书所指的目标平台均为 iPhone。进行 touch开发时,大多数材料都是适用的。这不包括某些显而易见的特性,如电话和机载扬声器。本书会尽量说明这些例外。
联系作者
如果你对本书有任何意见或疑问,请给我发电子邮件( [email protected] ),或者直接访问 www.ericasadun.com 。我的网站提供了本书中讨论的许 多应用程序,请随意访问、下载软件、阅读文档以及发表评论。