1、iPhone 开发入门( 1)-程序员眼中的 iPhone 自 iPhone 面世以来,开创了移动设备内容服务的一种新的模式-程序商店(App Store)。它极大地降低了移动设备应用程序开发的成本,即使普通人也能进入这个市场。就像在 PC 上开发应用程序一样,我们的投入只是一台电脑,一个手机。截止到目前为止,许多大的电话设备提供商/运营商和软件企业都加入了这个新的模式, Nokia 的 Ovi Store (2009 年 5 月 26 日开始),微软的 Windows Marketplace for Mobile ,Google 的 Android Market (2008 年 10 月 2
2、2 日开始)等都已经或者准备进入这个市场了。高飞备注:包括中国移动的 MM 应用市场也是抄袭 App 商店,当然都非常不成熟。就像以前开发 PC 上的共享软件一样,许多程序员和小的企业加入了开发队伍的行列。只要有新意捞到你人生的第一桶金不是什么问题。国外的一个 22 岁开发者只用了 20 分钟开发了一款叫做 Sound Grenade的程序,一个小时的收入就是 200 美金!一个月 70,80 万人民币轻轻松松啊。要论这个程序,没有什么技术可言,纯粹一个垃圾,可是就是这么一个垃圾程序,却受到很多人的欢迎,这只能说作者有创意了。顺便说一说,程序本身是免费的,主要是靠流量带来的广告收入(和网页广告
3、一个道理)。从今天开始,介绍一下 iPhone 应用程序的开发,发布流程,让我们也把自己的创意写成程序,展现一下实力吧。iPhone 不单纯是具有电话功能的 iPod,它的有许多有魅力的地方。作为一个应用程序的开发者,我们首先来看看它的这些特征。首先,手机上的按键没有了,应用程序的按键,开关与电话的按键统一了起来。取而代之的是触摸屏技术,应用程序的开发者从此不再受按键的限制,可以自由的设计 UI 的风格。喜欢把按键放哪就放哪,即使不用按键,类似于 PC 应用程序的滚动条/拖动条等也可以在触摸屏上实现。iPhone 中已经提供了从按键到滚动条等一系列的 UI 控件。当然,你也可以不使用这些控件,
4、而是自己自作独特的 UI 控件。高飞备注:UI 即 User Interface(用户界面)的简称。UI 设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的 UI 设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。制作 iPhone 应用程序需要的东西首先是开发环境,标注的配置是以下的环境:o Mac 电脑(CPU 要是 Intel 的)o Mac OS X v10.5(Leopard)或以上的版本o 一台 iPhone 或者 iPod touch高飞备注:MAC 系统的电脑暂时没有,但是我能把你的 window 的笔记本改造成 MA
5、C 的电脑,并且不影响现有的 window 系统。iOS 设备我已经购买了一部 ipod touch 3,完全可以供大家使用。当然你也可以在 windows 或者 linux 上安装开发环境。iphonedevonlinux 有详细的介绍,使用 toolchain在 Cygwin 或者 linux 下进行 iPhone 的开发,如果你想省些钞票或者想更深入的了解 iPhone OS 那么不妨试试它。这一部分,我在以后的章节中会专门介绍。高飞备注:不推荐使用非 MAC 系统的其他开发环境另外,开发所必要的软件,SDK,IDE 等可以免费从 Apple 的网上下载。如果你想开发有 GPS 和照相机
6、或者重力传感器功能的程序,那么需要 iPhone 3G,其他一般的程序 iPod touch 就可以了。另外,如果想要把做成的程序发布出去,还需要到 Apple Developer Connection 花 99 美金登录。高飞备注:仅仅作为背景知识了解,所有的必要条件,我会为大家准备妥善。SDK(Software Development Kit, 即软件开发工具包 )一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。IDE(Integrated Development,集成开发环境)。其缩写形式 IDE 同时也代指“电子集成驱动器”。IDE
7、 集成开发环境(简称 IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。该程序可以独立运行,也可以和其它程序并用。例如,BASIC 语言在微软办公软件中可以使用,可以在微软 Word 文档中编写 WordBasic 程序。Cocoa Touch 与 XcodeCocoa Touch刚才介绍了开发 iPhone 应用程序的时候,可以选择许多现成的 UI 控件。实际使用的过程当中,使用叫做Cocoa Touch 的程序开发组件库,它类似于 windows 下开发时所用的 MFC,.NET FrameWork。利用 Cocoa Touch,开发者不用考虑
8、设备的特性和画面特性,就可以简单的构筑 GUI。另外,利用 Cocoa Touch,可以开发具有以下 iPhone 功能的应用程序。高飞备注:图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。照相功能利用照相机拍照,并将照片保存到 iPhone。当前位置取得功能要用 iPhone 取得当前位置,可以使用 GPS,无线 LAN,基站等 3 种方式。应用程序不用考虑使用哪种方式,系统通过最佳的方式取得现在的位置信息。XcodeXcode
9、是 Mac OS X 下的 IDE 开发环境,也是免费的。主要包含有 GUI 设计用的Interface Builder,iPhone 应用程序模拟器,编译器等。Objective-C 语言iPhone 开发的时候,基本使用 Objective-C 语言。它是扩充 C 的面向对象编程语言,也是创建 Mac OS X应用程序的首选语言。如果你会 C 或者 C+,理解 Objective-C 应该很快。并且因为 Objective-C 可以在 gcc 运作的系统写和编译,你也可以混合 Objective-C 和 C/C+来写程序,或者使用原先的C/C+库。并且使用 Cocoa Touch 来开发程
10、序,自己写的代码量也会相应减少,应为大部分的算法,逻辑部分都被程序库吸收了。现在就开始开发 iPhone 应用程序准备好了所有的工具,我们就可以开始开发 iPhone 应用程序了。当然学习 Cocoa Touch,Objective-C 语言也是很重要的,这些我以后会有专门介绍。在开发自己的应用程序之前,最重要的是什么呢? 是开发程序的知识和技能吗?不是的,最重要的是开发者的激情和创意。有了激情,我们能产生好的创意,有了好的创意,我们才能写出优秀的应用程序。高飞备注:给大家提供的每一份材料我都会提前阅读,并且做好相应的备注工作,希望你们能够尽快适应新的学习过程,如果有对我个人的建议或者对我们团队的想法欢迎提出来。额外提供一份入门视频,结合本文档,对 IOS 的开发有一个大致了解。如果感兴趣,自行从互联网上搜索查阅。这份文档看完,并且没有疑问后,及时跟我联系,我会给你们第二份入门文档。其他的学习书籍正在准备中,虽然种类不多,但是总要筛选到一本合适的,有点纠结。既然选择了学习 IOS 的开发,大家就努力去做吧,认真一点,我们一定可以成功!大家加油!最后谢谢你们对我的信任。高飞2011.5.6