iPhone开发前必备文档
iPhone开发前必备文档是本文要介绍的内容,主要讲解的是iphone开发的几个基本概念,也是开发前必须弄清楚的问题,我们来看详细内容。
关于Objective-C
Objective-C是开发iPhone应用程序的官方语言。
1986年,Brad Cox在第一个纯面向对象语言Smalltalk基础上写成了Objective-C语言。这之后,Brad Cox创立了StepStone公司从事Objective-C的推广。1988年,Steve Jobs的NextStep采用Objective-C作为开发语言,1992年GNU GCC编译器中包含了对Objective-C的支持。这以后的相当长时间内,应用Objective-C语言的都是日后编程界的大腕,像Richard Stallman、Dennis Glating等人。
Objective-C是ANSI版本C编程语言的超集,扩展了C 语言使它具备面向对象设计的能力,如类,消息和继承。Objective-C 程序中可以利用现有的C语言代码,使其利用现有的软件架构。这也是为什么Objective-C 过去多年间能够成为一种流行的用户界面开发语言而且至今没有消亡,因为一方面用它可以实现底层系统编程,另一方面可以支持利用动态架构进行开发。
Objective-C目前的版本是2.0,更多关于Objective-C的学习,可以参照苹果公司的开发文档《TheObjective-C 2.0 Programming Language》。
关于Cocoa Touch
Cocoa Touch这个名字来自于Cocoa(Cocoa是为Mac OS X以及更早的NextStep编程而开发出来的面向对象框架),再加上单独为移动设备和触摸屏(“Touch”的由来)设计的图形界面类。
Cocoa Touch 包含了创建世界一流 iPhone 应用程序需要的所有框架,从三维图形,到专业音效,甚至提供设备访问 API 以控制摄像头,或通过 GPS 获知当前位置。Cocoa Touch 既包含只需要几行代码就可以完成全部任务的强大的Objective-C 框架,也在需要时提供基础的 C 语言API 来直接访问系统。
下面是 Cocoa Touch 中一小部分可用的框架:
音频和视频:Core Audio、OpenAL、Media Library、AV Foundation;
数据管理:Core Data、SQLite;
图形和动画:Core Animation、OpenGL ES、Quartz 2D;
网络:Bonjour、WebKit、BSD Sockets;
用户应用:Address Book、Core Location、Map Kit、Store Kit;
关于Cocoa Touch的更多说明,可通过下面的参见苹果公司的官方说明:http://www.apple.com.cn/developer/technologies/iphone/cocoa-touch.html
关于iPhone SDK
苹果公司在北京时间2010年6月22号凌晨发布了第四代iPhone操作系统的正式版,并命名为iOS4,对应的iOS4 SDK 4.0.1可以从苹果网站上下载(http://developer.apple.com/iphone)。
新的OS增加了包括多任务支持在内的100多项新特性,新的系统将更加人性化和更安全。
作为开发人员,对iPhone SDK需要关注的主要是下面三大部分:Xcode、Interface Builder以及iPhone模拟器。
Xcode:SDK中包含的一个最重要的元素,它是苹果公司的IDE. Xcode提供了各种实用的工具,用于创建和调试源代码、编译应用程序以及调优应用程序的性能。
InterfaceBuilder:它是苹果公司为开发人员提供的界面设计工具。在Interface Builder上能进行各类库控件的拖放操作、定义属性、绑定事件等。
模拟器:编译通过的项目,可以利用SDK自带的模拟器对程序进行试运行测试;但对于某些需要硬件支持的功能,目前尚未能提供好的模拟方案。
据说最近放出的Xcode4测试版已经将Interface Builder集成其中,合为一体,而不必在开发过程中在两者之间不停切换。
其他必要条件及预备知识
本文所说的iPhone开发只能在Mac Leopard操作系统下进行,对于没有Macintosh计算机的朋友,可以考虑在虚拟机中安装Mac Leopard进行开发。
iOS的SDK虽然是免费的,但必须先注册一个Apply ID才能在苹果网站上下载该SDK。如果想在iPhone真机上测试开发的程序或者通过App Store分发您的程序给其他用户,则需要付费注册标准版或企业版程序,价格分别为$99和$299。
开发iPhone程序的首选语言是Objective-C,我们将在后面的篇章中看到这个专用语言的各种语法特点。但已经假定您们已经熟悉掌握了C语言及面向对象的相关概念。