苹果在线 [设为首页]
[加入收藏]
[订阅RSS]
首页新闻软件应用iPadiOS iPhone iPad软件下载iPhone苹果专卖店苹果软件下载中心苹果搜索苹果维修苹果在线官方微博北京企业宣传片广告片制作公司苹果论坛BBS

iPhone 开发基础教程之一
2009-05-06 11:01:53
分享给苹果粉们

在开始编写iPhone软件之前,需要做一些准备工作。对于初学者,需要一台运行Leopard(OS X 10.5.3或更高版本)的基于Intel的Macintosh计算机。2006年之后上市的任何Macintosh计算机(不管是笔记本还是台式机)应该都符合要求。

  无需使用具备顶级配置的计算机,MacBook或Mac Mini就能够出色地完成任务。但是,对于较早且运行速度较慢的计算机型号,进行RAM升级能够获得较大的性能提升。

  你还需要注册成为iPhone开发人员。只有完成了这一步,苹果公司才允许下载iPhone SDK(软件开发工具包)。

  要进行注册,请访问http://developer.apple.com/iphone/(中文网站为 http://www.apple.com.cn/ developer/iPhone/,如图所示),该页面应该与图中显示的页面类似。页面中提供了最新且功能最强大的iPhone SDK的下载链接。单击该链接将进入包含3个选项的注册页面。

  最简单(而且免费)的选项是单击Download the Free SDK按钮。页面将提示输入Apple ID。使用你的Apple ID登录。如果还没有Apple ID,请单击Create Apple ID按钮,创建一个Apple ID,然后再登录。登录之后,将进入iPhone开发主页面。其中不仅有SDK的下载链接,还提供了各类文档、视频和示例代码等的链接,所有这些资源都能帮你进行iPhone应用程序开发。

  

  iPhone SDK中包含的一个最重要的元素是Xcode,它是苹果公司的IDE(集成开发环境)。Xcode提供了各种实用工具,用于创建和调试源代码,编译应用程序以及调优应用程序性能。学习完本书,你将会迷恋上Xcode!

  这个免费的SDK还包含一个仿真器,它支持在Mac上运行大多数iPhone程序。这对于学习如何编写iPhone程序极其有用。但是,免费选项不支持将应用程序下载到实际的iPhone(或iPod Touch)中。此外,它也不支持在苹果公司的iPhone App Store上分发应用程序。要实现这些功能,需要使用另外两个下载选项,它们不是免费的。

  说明 仿真器不支持依赖于硬件的特性,比如iPhone的加速计或摄像功能。要支持这些特性,需要使用其他选项。

  标准版程序的价格为99美元。它提供了全面的开发工具、资源和技术支持,支持通过苹果公司的App Store分发应用程序,并且最重要的是,支持在iPhone上(而不只是在仿真器上)测试和调试代码。

  企业版程序的价格为299美元,可供企业开发专用的、内部的iPhone和iPod Touch应用程序。

  有关这两种程序的详细信息,请访问http://developer.apple.com/iphone/program/。

  由于iPhone是一种始终连网的移动设备,并且使用的是其他公司的无线基础设施,因此苹果公司对iPhone开发人员的限制比对Mac开发人员多得多,Mac开发人员无需经过苹果公司的审查或批准就能够编写和分发程序。

  苹果公司添加这些限制,更多的是为了尽量避免分发恶意或效率低下的程序,因为这类程序可能降低共享网络的性能。开发iPhone应用程序似乎麻烦不少,但苹果公司在简化开发过程方面付出了巨大努力。还应该提及的是,99美元的价格比微软公司的软件开发IDE ——Visual Studio的价格低得多。

  另外,很明显,你还需要一部iPhone。虽然大部分代码都可以通过iPhone仿真器进行测试,但并非所有程序都是如此。一些应用程序需要在实际的iPhone上进行全面测试,然后才能分发给公众。

  说明 如果要注册标准版或企业版程序,你应该立即注册。批准过程可能需要一些时间,并且通过批准之后才能在iPhone或iPod Touch上运行应用程序。但是不必担心,前几章中的所有项目以及本书中的大多数应用程序,都可以在iPhone仿真器上运行。

  学习本文应该具备一定的编程知识。你应该理解面向对象编程的基础知识,例如,了解对象、循环和变量的含义,还应该熟悉Objective-C编程语言。 SDK中的Cocoa Touch是本书使用的主要工具,它使用的是Objective-C 2.0编程语言,但是如果不了解Objective-C语言的新增特性也没有关系。我们将重点介绍要使用的2.0语言特性,并解释其工作原理和使用它的原因。

  你还应该熟悉iPhone本身。就像在任何其他平台中编写应用程序一样,你需要熟悉iPhone的各种特性,并了解iPhone界面以及iPhone程序的外观。

  还不熟悉Objective-C?

  如果你从未使用Objective-C编写过程序,那么以下资源有助于你了解该语言。

        请参看iPhone开发资料之Objective-C语言简介:http://tech.it168.com/a2009/0505/274/000000274996.shtml   

  或者,阅读由Mac编程专家Mark Dalrymple和Scott Knaster撰写的Learn Objective-C on the Mac一书,该书浅显易懂,是学习Objective-C基础知识的优秀图书:

  http://www.apress.com/book/view/9781430218159

  接下来,访问Apple iPhone开发中心网站并下载The Objective-C 2.0 Programming Language一书的电子版,该书深入浅出地介绍了Objective-C 2.0的方方面面,是一本优秀的参考指南:

  http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/ObjectiveC

  注意,需要登录才能访问此文档。

  编写iPhone应用程序有何不同

  如果从未使用过Cocoa或它的前期产品NextSTEP,那么你可能会发现Cocoa Touch(用于编写iPhone应用程序的应用程序框架)稍显另类。它与其他常用应用程序框架(如用于构建.NET或Java应用程序的框架)之间存在一些基本差异。你起初可能会有点不知所措,但不必担心,只要勤加练习,就可以掌握其中的规律。

  如果你具备使用Cocoa或NextSTEP编程的经验,则会发现iPhone SDK中有许多熟悉的身影。其中的许多类都是从用于Mac OS X开发的程序版本中原样借鉴过来的,一些类即便存在不同,它们也遵循相同的基本原则,并使用类似的设计模式。

  无论你的知识背景如何,都需要谨记iPhone开发与桌面应用程序开发之间的重要差异。

  只有一个正在运行的应用程序

  除了操作系统之外,任何时候iPhone上都只能运行一个应用程序。随着iPhone内存的增大、处理器的增强,这一点在未来可能会发生变化。但是在目前,在执行代码时,你的应用程序将是唯一正在运行的程序。若你的应用程序不是用户正在交互中的,那么它不会起作用。

  只有一个窗口

  在桌面及笔记本操作系统中,多个程序可以同时运行,并且可以分别创建和控制多个窗口。而iPhone则有所不同,它只允许应用程序操作一个“窗口”。应用程序与用户的所有交互都在这个窗口中完成,而且这个窗口大小就是iPhone屏幕的大小,是固定的。

  受限访问

  计算机上的程序可以访问启动它们的用户能够访问的任何内容,而iPhone则严格限制了应用程序的权限。你只能在iPhone为应用程序创建的文件系统中读写文件。此区域称为应用程序的沙盒,应用程序在其中存储文档、首选项等需要存储的数据。

  应用程序还存在其他方面的限制。举例来说,你不能访问iPhone上端口号较小的网络端口,或者执行台式计算机中需要根用户或管理员权限才能执行的操作。

  有限的响应时间

  由于其使用方式特殊,iPhone及其应用程序需要具备较快的响应时间。启动应用程序之后,需要打开应用程序,载入首选项和数据,并尽快在屏幕上显示主视图,这一切要在几秒之内发生。只要应用程序在运行,就可以从其下方拖出一个菜单条。如果用户按主页(home)按钮,iPhone就会返回主页,并且用户需要快速保存一切内容并退出。如果未在5秒之内保存并放弃控制,则应用程序进程将被终止,无论用户是否已经完成保存。

  因此,你在设计iPhone应用程序时需要注意这一点,以确保用户退出时不会丢失数据。

  有限的屏幕大小

  iPhone的屏幕显示效果非常出色,从它推出直到现在,它一直是消费者设备上分辨率最高的屏幕。但是,iPhone的显示屏幕并不大,你施展的空间要比现代计算机小很多,仅有480×320像素。而在撰写本书时,苹果公司最便宜的iMac支持 1680×1050像素,最便宜的笔记本电脑MacBook支持1280×800像素。而苹果公司最大的显示器,30英寸的Cinema Display,支持2560×1600像素。

  有限的系统资源

  阅读本书的任何资深程序员可能都会对128 MB内存、4 GB存储空间的机器嗤之以鼻,因为其资源实在是非常有限,但这种机器却是真实存在的。或许,开发iPhone应用程序与在内存为48 KB的机器上编写复杂的电子表格应用程序不属于同一级别,二者之间没有可比性,但由于iPhone的图形属性和它的功能,所以其内存不足是非常容易出现的。目前上市的iPhone具备128 MB物理内存,当然这还会随时间不断增长。内存的一部分用于屏幕缓冲和其他一些系统进程。通常,大约一半内存将留给应用程序使用。

  虽然64 MB对于这样的小型计算机可能已经足够了,但谈到iPhone的内存时还有另一个因素需要考虑:现代计算机操作系统,如Mac OS X,会将一部分未使用的内存块写到磁盘的交换文件中。这样,当应用程序请求的内存超过计算机实际可用的内存时,它仍然可以运行。但是,iPhone OS并不会将易失性内存(如应用程序数据)写到交换文件中。因此,应用程序可用的内存量将受到电话中未使用物理内存量的限制。

  Cocoa Touch提供了一种内置机制,可以将内存不足的情况通知给应用程序。出现这种情况时,应用程序必须释放不需要的内存,甚至可能被强制退出。

  缺少Cocoa工具

  如果你在接触iPhone之前有过Cocoa方面的经验,那么你过去习惯使用的一些工具在iPhone中已经不可用了。iPhone SDK不支持Core Data或Binding。我们之前已经说过,Touch使用的是Objective-C 2.0,但该语言中的一个关键特性在iPhone中并不可用:Touch不支持垃圾收集。

  新属性

  前面已经说过,Touch缺少Cocoa的一些功能,但iPhone SDK中也有一些新功能是Cocoa所没有的,或者至少不是在任何Mac上都可用的。iPhone SDK为应用程序提供了一种定位方法,即使用Core Location确定电话的当前地理坐标。iPhone还提供了一个内置的摄像和照片库,并且SDK允许应用程序访问这两者。iPhone还提供了一个内置的加速计,用于检测iPhone的持有和移动方式。

  与众不同的方法

  iPhone没有键盘和鼠标,这意味着它与用户的交互方式与通用的计算机截然不同。所幸的是,大多数交互都不需要你来处理。举例来说,如果在应用程序中添加一个文本字段,则iPhone知道在用户单击该字段时调用键盘,而不需要编写任何额外的代码。

  准备开始吧

  iPhone是一款全新的、令人难以置信的计算平台,是轻松开发的利器。编写iPhone应用程序将成为一种全新的体验,这种体验与之前你使用过的任何平台都不同。所有看似熟悉的功能都具有其独特的一面,但随着深入体会本书中的代码,你将能把这些概念紧密联系起来并融会贯通。

  应该谨记,本书中的练习并不是一份检验清单,似乎完成这些练习之后,你就自动具有了iPhone开发专家的资格。在继续下一个项目之前,确保已经理解了这些概念和原理。不要害怕修改代码。多多尝试并观察结果是在Touch环境中克服编码困难的最佳方法。

  如果你已经安装了iPhone SDK,请继续阅读此系列文章。如果还没有,请立即安装iPhone SDK。然后开始iPhone之旅!


苹果软件硬件应用教程

相关热词搜索:

上一篇:苹果为搭载HD 4850显卡的iMac提供EFI更新补丁
下一篇:传Snow Leopard中的Boot Camp允许用户访问Mac

站内搜索
填写您的邮件地址,订阅我们的精彩内容:
百度站内搜索
我要投稿
 

常用苹果软件下载
qq movie software bt adult
苹果版QQ MAC优化大师 FireFox浏览器 解压软件 苹果BT下载工具 苹果刻录工具
ipod movies photo tools speed movies
iPod+iTunes 视频播放软件 苹果看图软件 PP浏览器 iGetter下载加速 QuickTime
北京苹果专卖店
企业宣传片广告片制作公司上广传媒
企业宣传片>>
企业宣传片摄制
公司专题片制作
产品教学片拍摄
展会宣传片制作
高清宣传片制作
企业形象宣传片
公司年会晚会片
城市宣传片>>
城市宣传片拍摄
旅游宣传片制作
规划宣传片拍摄
地产宣传片摄制
影视后期大制作
电视频道包装
栏目包装策划
广告片>>
电视广告片摄制
公司广告片摄制
广告片策划制作
医药广告片制作
TVC 形象广告片
影视广告片下载
播客闪客广告片
三维动画>>
三维动画制作
建筑动画制作
投标动画制作
全景仿真制作
虚拟现实动画
Flash2D动画
房地产3D动画
摄像摄影>>
最专业会议摄像摄影
央视摄像师摄像设备
年会摄像年会宣传片
高清宣传片制作公司
北京广告片制作公司
企业专题片制作公司
北京宣传片制作公司
年终总结片>>
年会视频制作
公司年会视频
年会开场视频
开场视频制作
专业年会拍摄
年终总结汇报
央视晚会拍摄
微电影拍摄制作>>
微电影广告植入
微电影策划拍摄
微电影投资制作
微电影作品下载
立体3D拍摄制作
Flash动画制作
招聘影视精英