无论你申请哪种计划,都必须有一台基于Intel的Mac机,该机应该运行最新版本的Mac OS X。另外,建议至少有一台,最好是多台iPhone和iPod touch,以便进行测试,确保应用程序在每种平台上都能正确运行,包括一些旧的装置,例如第一代iPhone和iPod touch。 申请付费计划时,通常有一定的延时。注册后,可能需要数周的时间来核准账户和出具发票。从交钱到获得高级特性,可能需要24~72小时。 注册iTunes Connect是为了通过App Store销售应用程序,但这一步还存在障碍。幸运的是,这个过程可以推迟到注册一个付费计划后完成。在建立App Store账户前,必须借助iTunes Connect收集银行信息和公司文书工作。你还必须仔细阅读并同意苹果公司的发布合同。苹果公司在itunesconnect.apple.com上提供了全部细节。 1.2.1 下载SDK 可以从iPhone开发人员网站http://developer.apple.com/iphone上下载iPhone SDK。需使用计划凭证访问下载页面。所以,在下载之前,应确保已经申请了上述3种计划之一。免费计划只能获得完整发布的SDK。付费计划则可以优先获得SDK beta,让你进一步获得预发布固件。 该工具箱通常有几GB,它将一套完整的交互式设计工具安装到你的Macintosh上。该套件由一些组件组成,这些组件形成了iPhone开发环境的基础。iPhone特有的组件如下软件。 ·Xcode。Xcode是iPhone开发工具库中最为重要的一款工具。它提供了一个全面的项目开发和管理环境,包括源文件编辑、丰富的文档和一个图形化调试器。Xcode由多款开源GNU工具构建而成,即gcc(编译器)和gdb(调试器)。 ·Interface Builder。Interface Builder(IB)提供了一个快速的原型工具,可用于以图形化的方式布局用户界面以及从Xcode源代码链接到这些预构建的界面。借助IB,可以使用可视设计工具绘制界面,然后将这些屏幕元素连接到应用程序中的对象和方法调用。 ·模拟器(Simulator)。iPhone模拟器运行于Macintosh之上,借助它,无需连接到实际的iPhone或iPod touch,就可以在台式机上创建和测试应用程序。模拟器提供的API与在iPhone上使用的API相同,并针对概念设计的效果提供相应的预览。在使用模拟器时,Xcode将编译在Macintosh上运行的Intel x86代码,而不是iPhone上使用的基于ARM的代码。 ·Instruments。Instruments用于分析iPhone应用程序的内部运行原理。它对内存利用率进行采样,并监视性能。这样,你可以准确识别并锁定应用程序中的问题区域,并采取有效措施。Instruments提供基于时间的图形化性能图(plot),可显示应用程序中占用资源最多的地方。Instruments由Sun Microsystems开发的开源DTrace包构建而成。Instruments在跟踪内存泄漏及确保应用程序在iPhone平台上有效运行方面发挥着重要作用。 ·Shark。Shark通过分析应用程序在何处花费最多的时间来进行性能优化。它找到并鉴别瓶颈,以便提高应用程序性能。 借助此iPhone SDK套件中的所有组件便可以开发应用程序。从本机应用程序开发人员的视角来看,最重要的组件是Xcode、Interface Builder和模拟器,以及提供基本调优工具的Instruments。除了这些工具之外,还有一个重要的组件并未提及。该组件随附在SDK中,但容易被忽略。它就是Cocoa Touch。 Cocoa Touch是苹果公司针对快速iPhone应用程序开发提供的一个类库。此库以一系列API框架库的形式存在,支持开发人员使用用户界面元素(如窗口、文本和表)构建图形事件驱动的应用程序。iPhone上的Cocoa Touch与Mac OS X上的Cocoa和AppKit类似,并且支持在iPhone上创建丰富、可重用的界面。 许多开发人员对iPhone应用程序的大小感到惊异不已,它们确实是太小了。这在很大程度上得益于Cocoa Touch强大的库支持。通过让Cocoa Touch来处理所有复杂的UI事务,应用程序可以专注于自己的任务。其结果是简洁、有针对性、一次只处理一项任务的代码。 使用Cocoa Touch开发出的应用程序可具备与苹果公司开发的应用程序一致的外观和气质。记住,苹果公司必须核准你的软件。苹果公司根据外观、操作乃至内容评判应用程序。使用Cocoa Touch有助于使你的应用程序更接近苹果本机应用程序设立的高设计标准。 1.2.2 开发设备 一部真正的iPhone或iPod touch是软件开发工具包中的关键组成部分。iphone的测试至关重要,虽然SDK模拟器有简单、方便的优点,但是说到完整的iPhone测试体验,它就被远远抛在后面。既然iPhone是目标平台,那么重要的是让你的软件在它的本机系统而不是模拟器上有最佳表现。iPhone本身提供了你所需的最真实的测试平台。 苹果公司通常建议使用专用的开发设备。当你第一次通过标准USB线将iPhone连接到计算机时,Xcode将检测到设备。如果你想将设备用于开发,请确认;否则,单击Ignore(忽略)。 将一个设备用作开发设备意味着它上面的数据会经常变化,可能不能再像非开发设备那样可靠地工作。但经验表明,一旦经过新SDK的早期beta版,这些设备似乎可以继续用于常规的日常使用。如果手头上有额外的设备,仍然建议将其专用于开发,但是如果设备紧缺,也可以将正在使用的iPhone用于开发,只是要注意规避风险。 开发过程中,应在尽可能多的iPhone平台上进行测试。要知道,不同型号的iPhone和iPod touch之间存在平台差异。例如,第二代iPod有一个内置的扬声器,而第一代则没有。第二代iPod touch使用的处理器比第一代更快。iPhone有摄像头,而所有iPod touch都没有提供摄像头。本章后面将讨论不同型号之间的差异。 1.2.3 模拟器的限制 基于Macintosh的iPhone模拟器的每个发布版在技术上都有持续的进步。虽然如此,模拟器也存在一些限制,必须予以考虑。从软件兼容性到硬件,模拟器接近于实际设备性能,但是不完全相同。 模拟器使用很多Macintosh框架和库,并提供了一些iPhone未实际提供的特性。在模拟器上能完好运行并通过所有调试的应用程序,在实际设备上却可能无法运行或崩溃。所以,对于任何程序,不能仅使用模拟器调试后,便认为它可以在iPhone上完好地运行。 模拟器还丧失了很多硬件特性。例如不能用模拟器来测试内置摄像头或加速计的反馈。虽然模拟器可以使用内置的紧急运动传感器(如果有的话,紧急运动传感器常用于笔记本电脑)读取来自Macintosh的加速数据,但是这种读取方式不同于iPhone的读取方式,对于开发或测试并不实用。模拟器不能振动,也不能提供多点触控输入(至少没有超越标准的“按压”手势)。核心位置固定在加利福尼亚1 Infinite Loop,也就是苹果公司总部的坐标上。 从软件的角度看,模拟器上没有提供基本的密钥链(keychain)安全系统。也不能注册一个应用程序来接收推送通知(push notification)。这些组件的缺失意味着有些类型的程序部署到iPhone上时,只能以受限的方式使用。 模拟器与设备之间的另一个不同点是音频系统。模拟器上没有实现音频会话结构,隐藏了使相关事物在设备上正确工作的复杂性。即使有些地方模拟器模拟了iPhone API,但是行为上仍有偏差,因为模拟器基于Mac OS X Cocoa框架。 这并不是说模拟器对于测试不重要。在模拟器上测试程序比较便捷,通常比将编译好的应用程序传送到iPhone设备上快得多。借助模拟器,可以通过旋转虚拟设备来测试旋转,可以产生仿真的内存警告,还可以试验UI,就像用户正在接听手机一样。在模拟器上测试文本处理要容易得多,因为可以使用键盘,这样可以简化一些重复的文本输入,例如输入应用程序用于连接到网络的账户名和密码。 最后要说的是,模拟器有利有弊。使用模拟器可以方便测试,但并不意味着可以绕过实际的设备测试。 1.2.4 Tethering 所有交互式测试必须使用USB线。目前,苹果公司没有提供任何无线方式来传输、调试或监视应用程序。这意味着几乎所有工作都必须通过标准iPhone USB线以Tethering方式进行。有线方式的调试由于受物理条件的限制,可能会产生一些问题,原因如下。 ·拔掉USB线的同时,所有交互式调试、控制台和屏幕快照特性都将关闭。所以需要一直插着线。 ·使用立架后的iPhone不能物尽其用。当然,立架很稳定,但在这种情况下一边测试界面一边触摸屏幕非常不便(iPhone只能以75度角放置)。 ·线缆接口位于设备的底部,而不是顶部,这意味着你非常容易碰到线缆,将iPhone摔到地板上。 显然,无线测试可以极大改善这其中的众多问题。遗憾的是,苹果公司尚未引入该选项。如果你愿意,可以通过一些复杂的方法迂回解决这些问题。一种方法是在iPhone背面贴一枚Velcro粘扣带,用它将iPhone固定在桌子上。这样很影响美观,但它能确保iPhone不会总是从桌面上掉下来。现在还可以购买第三方用于辅助开发工作的iPhone支架。这些支架使iPhone悬离桌面数英寸,并使线缆插在背面。 尽量将设备直接连到Mac的端口上,以取得最佳效果。如果必须使用集线器,应连接到支持USB 2.0的有供电的系统。大多数较旧的键盘和显示器只提供不供电的USB 1.1连接。测试时,选择可靠的、供电的2.0端口会有所帮助。
iPhone开发秘籍 (第2版)——1.2 开始
书名: iPhone开发秘籍 (第2版)
作者: [美] Erica Sadun
出版社: 人民邮电出版社
原作名: The iPhone Developer’s Cookbook: Building Applications with the iPhone SDK 3.0
译者: 张彩霞 | 高颖 | 易磊
出版年: 2010-11
页数: 680
定价: 99.00元
装帧: 平装
丛书: 图灵程序设计丛书
ISBN: 9787115240019