本人必须承认,在iPhone之前没有接触过任何与苹果相关的产品,所以写下的东西都是基于目前的认识,非常基础,存在未来被修改的可能。如发现有误导读者的内容,请务必不吝指正。
一. 操作系统
对于iPhone开发,当然首选苹果的操作系统。不用大动干戈去买一个Macbook了,就在Intel的PC上装一个Leopard就可以了。Leopard是Mac OS X(X是第十代操作系统的意思)的第五代产品,代号美洲豹(Mac OS X目前所有的版本都是选择的大型猫科动物作为代号,Leopard的下一代是雪豹Snow Leopard,又是豹!)。在Verycd上找到的下载地址
http://www.verycd.com/groups/pingguo/697730.topic
下载后将其刻盘备用。
安装过程需要注意以下几点:
1. 一定要为Leopard准备一个足够大的分区(苹果只需要一个分区). 可以在win下格式化为NTFS,考虑到Leopard系统本身占用6G左右,以及之后需要安装的iPhone SDK也将占用6G左右的空间,准备20G空间是不为过的,建议最好买个硬盘专门装Leopard。
2. 需要在win下安装变色龙Chameleon以用来引导进入Leopard,Chameleon选项将出现在引导菜单中与Windows并列。
3. 在进入安装前切记选好对应的驱动,建议每次选择之后都纪录下这次的选择项。选错驱动的后果不是需要在系统装好后重新装驱动,而是进不了系统,为此本人装了6次系统,一次半个多小时。
4. 装好Leopard之后,会出现boot error的情况,这是因为Leopard分区被作为引导分区,此时要做的是重新激活win的主分区,利用dos工具激活。
当看到欢快的用各国语言显示的欢迎界面的时候,恭喜你已经进入苹果的另类世界了。
对于win用户来说,熟悉苹果的确需要一段时间,目前为止本人的一些了解:
1. 关机请点左上角的苹果图标...
2. 屏幕顶端的菜单栏是被当前激活的那个应用程序所使用的,当你发现程序窗口内没有菜单项时,请注意看屏幕上方.
3. 很多的快捷键用到了苹果键盘独有的苹果键(就犹如pc键盘之win键),如果你用的是pc键盘,苹果键貌似就对应了alt键,所以当你想ctrl+c时,请改变习惯,请用alt +c吧!
4. 最大化是个不太让人适应的东西,首先它在左上角的第三个按钮,其次最大化是以屏幕内容不出现水平滚动条的最小宽度为最大宽度的,要想全屏幕显示,必须自己拉动右下角调整。
5. 不用装杀毒软件...
6. 软件基本上都齐全,和win下有匹配的产品。
二. iPhone SDK
当熟悉了一阵子的Leopard之后,言归正传,进入iPhone的开发。
首先下载一个iPhone SDK,目前的最新版本是3.0。与JDK相比,这个SDK是个庞然大物,有2G之大,当本人兴冲冲地打算下一个马上开始写HelloWorld时,却被其大小浇了一盆冷水,花了一晚上下载。
安装过程花费时间也接近30分钟,2G的文件装了6G空间. 如果一切默认的话,iPhone SDK被装在了 /Developer目录下。
Xcode是苹果系统的IDE,相当于VS之于Windows,Eclipse之于Java。它被包含在iPhone SDK中,3.0 iPhone SDK中的Xcode是3.1.3版本。你可以在/Developer/Applications内找到它,打开之后将其Keep in Dock,这是未来吃饭的家伙了。
三. Hello World
写Hello World的过程非常简单,以至于都不用写Objective-c代码。用Interface Builder拖个label写几个字就可以了,用模拟器运行也十分简单。但是真机运行可让本人痛苦了几天。
因为真机运行理论上需要官方的Certificate,而这个证书就是花上众所周知的99美刀。对于我们这些还没看到一丝赚钱希望的开发者来说,还是先想个办法对付对付吧。
以下只针对本人的环境:
iPhone OS 2.2
iPhone SDK 3.0 + Xcode 3.1.3
1. 确保你的iPhone已经破解越狱,能够安装第三方的软件,然后打开Terminal安装ldid以进行应用签名.
apt-get install ldid
2. 安装SDK完成后,将 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.sdk/SDKSettings.plist属性文件的CODE_SIGNING_REQUIRED值修改为NO.
3. 打开Xcode建立一个HelloWorld工程,在工程配置中General页面中选择Base SDK for all configurations值为iPhone Device 2.2; 接着在Build页面中选择Code signing identity - Any iPhone OS Device值为Don't Code Sign.
4. 接下来执行Build, 将会在Products目录下生成HelloWorld.app, 右键点击选择Reveal in Finder在文件夹中找到这个文件,将其通过sftp工具(我使用的是Transmit,当然也可以用系统自带的sftp命令)拷贝到iPhone的Applications目录,并且在HelloWorld.app目录下执行签名命令:
ldid -S HelloWorld
命令成功执行后,将不会有任何的提示. 如果有提示,通常都是失败了,请检查是否该目录没有写权限,如果没有请执行命令:
chmod -R 755 HelloWorld.app
5. 如果以上一切顺利的话,这时候HelloWorld已经成功地安装在iPhone上了,需要重启SpringBoard以看到图标。打开Boss Prefs,选择Power -> Fast Respring.
经过以上步骤,HelloWorld应用成功地在我的iPhone上运行起来了,这其中经历了非常多的失败,直到最后我几乎想放弃的时候竟然成功了,所以凡事坚持下去,成功就离你不远了。
祝你好运!