累死累活,我安装了MacOS Snow Leopard 10.6.3,然后升级到10.6.8。再安装了Xcode 3.2.5 and iOS SDK 4.2。
既然只是想学习一下基于iOS的开发,当然没有必要立马冲去买个MBA回家,虽然早在3年前看到MBA那个惊心动魄的信封广告时就心动不已了,无奈囊中羞涩,而且放一个多余的笔记本在家里只是为了学习,也挺不划算的。
装系统的两个选择:
1. 用VMWare,简单方便,在现在CPU普遍不如何吃紧的情况下是首选
2. 直装Mac OS,装了才知道难度那叫一个大
我的硬件配置如下:
CPU: E7300 显卡:ATI4850 |
等装机了才知道,这两个都是问题户。
首先考虑用VMWare,结果下载了比较新的MacOS 10.6.7版本的光盘镜像才发现,人家根本不让你装。要装的话,CPU一般必须要求有Visualization Technology。在www.intel.com搜索E7300可以看到其Spec如下:(http://ark.intel.com/products/36463)
Intel® Virtualization Technology (VT-x) |
No |
后来好不容易找到一个别人做好的MacOS的VMWare镜像,直接拷贝过来,就可以登录。但是版本是10.5.2(文件名是:[虚拟机完美体验].Mac.OS.X.Leopard-10.5.2),根本无法安装哪怕是3.2版本的iOS SDK。玩一玩还可以,用来学习开发则远远不够。可以搜索"iPhone SDK 和 Xcode历史各个版本下载地址"来了解MacOS和iOS SDK的关系。
Xcode和iOS SDK的版本 |
MacOS的版本 |
---|---|
iPhone SDK 3.1.3 with XCode 3.1.4 |
Leopard (10.5.7) |
iPhone SDK 3.1.3 with XCode 3.2.1 iPhone SDK 3.2 Final with Xcode 3.2.2 |
Snow Leopard (10.6.0) |
Xcode 3.2.3 and iPhone SDK 4 GM seed Xcode 3.2.3 and iPhone SDK 4 Final |
Snow Leopard (10.6.2) |
Xcode 3.2.3 and iOS SDK 4.0.1 Xcode 3.2.3 and iOS SDK 4.0.2 Xcode 3.2.4 and iOS SDK 4.1 Xcode 3.2.5 and iOS SDK 4.2 GM Xcode 3.2.5 and iOS SDK 4.2 |
Snow Leopard (10.6.4) |
Xcode 3.2.6 and iOS SDK 4.3 |
Snow Leopard (10.6.6) |
因此不得不放弃使用VMWare。
然后考虑直接安装黑苹果。参考了这位同学的文章:[教程]新手windows下安装苹果教程。最详细,最全面,最值得看的教程!(http://bbs.pcbeta.com/viewthread-763656-1-1.html) 只是可惜这个帖子讲的是Snow Leopard 10.6.3,离iOS SDK 4.2的安装门槛10.6.4还有一步之遥。于是决定先用前面VMWare上面安装未果的Snow Leopard 10.6.7试试。
安装Snow Leopard 10.6.7是极度没有成效的工作,原因大概是我的ATI4850显卡。无论是用bootthink还是Chameleon,在MacOS安装分区用"-x -v"参数启动后(bootthink按F8后输入参数;Chameleon直接输入参数),还没有见到菊花,就在黑屏阶段死机了。反正参考了pcbeta上面几乎所有的出错提示,都没有发现和我类似的情况。如下:
反正大概折磨了3天多,替换了所有能下载到的kext驱动,都没有办法看到哪怕一点点图形界面。我终于失去耐心,考虑别的替代方案。最终的方案是安装Snow Leopard 10.6.3,正如我手上的教程一样。
安装Snow Leopard 10.6.3还是比较顺利的。第一次就看到了菊花,让人精神一震。不过也就到此为止,机器死在了菊花上,没有能更进一步。
接着用"-x -v"参数引导安装,让人幸喜的是看到了欢迎界面,按照流程走下来,觉得还都挺顺的,所有的弹出窗口都选择完了,就等进度条到顶了。但是在安装到80%左右的时候,系统垮掉了,提示是这样的:
(PS: 估计是MacOS显卡驱动还是有问题,系统内截图是黑屏。所幸ipad2的镜头虽然烂,拍出来至少还是看得清楚的。)
我估计这是显卡的驱动问题,然后开始替换各种驱动,直到我试验到这样的组合,终于安装成功了。(C:\Darwin\System\LibrarySL\Extensions,已打包上传到我的空间,点这里下载。)
AppleACPIPS2Nub.kext ApplePS2Controller.kext EVOenabler.kext FakeSMC.kext |
再次备注,我的机器硬件为:
CPU: E7300 显卡:ATI4850 |
安装成功后,我的机器再次重启,并进入到bootthink和win7选择界面。按照网上的攻略,这个时候应该是无法启动的,需要用引导盘重新激活引导区。不过我不知道为什么没有这个问题。不过能引导就说明没有问题啦。
可惜,重新启动MacOS后,还是可耻的死机了。死机在哪里我现在已经不记得了,因为这个问题很快得到了解决,唯一确认的是:我没有看到大家说的唯美的开机动画...为了查清我的机器为什么会死,我再次重新启动电脑,并用"-x -v"参数来启动MacOS。结果这一次,我进入了MAC!一切正常!"-x -v"真是我的救星,虽然我不知道为什么我在正常模式下会死机,在调试模式下却正常运行。
一开始不敢尝试MacOS的升级,怕升坏了需要重装(现在看来那时太傻太天真了,重装系统半个小时,升级系统也就一个多小时,加起来不到两个小时,一点都不麻烦。更何况后来的事实也证明升级是很安全的。)
因为MobileVLC-1.1.0版本好像本来就是基于iOS SDK 3.2进行开发的(见Script的默认选项),所以觉得用iOS SDK 3.2应该也可以。下载iOS SDK 3.2需要2G多的空间,花费的时间不比重装系统少。结果装完iOS SDK 3.2后,编译MobileVLC的最新版本失败,编译MobileVLC-1.1.0这个老的经典版本仍然失败。考虑到学习的时候可能会使用iOS SDK 4.2;3.2不支持ipad,而我手上有ipad2;而且VLC现在的版本和MobileVLC-1.1.0也全部支持4.2。因此浪费了老大的时间,还是决定进行升级。
首先是MacOS的升级,点左上的苹果开始升级,中间去吃了一个饭,回来就意外的发现已经成功升级到了Snow Leopard 10.6.8啦!感觉就是那么的水到渠成。重启,一切正常!
然后是升级iOS SDK到4.2,重新下载了一个安装文件Xcode 3.2.5 and iOS SDK 4.2,3G多的大小下载了一个下午。安装,重启,正常。
使用iOS SDK的过程也是曲折的,在另一篇中有交代。而且有一个bug还需要重装iOS SDK 4.2,也不知道具体原因是啥。不过重装前的确就是编译不过,重装后就再也没有出现那个编译错误了。
一个人摸索学习还真是不容易,虽然网上面的文章/教程已经很多了,但是每个人也许都会遇到与众不同的问题。我觉得我在选择安装MacOS和iOS SDK的时候,就是对软件版本之间的关系认识不太清楚,绕了不少弯路,因此这个表格这里再贴一次:
Xcode和iOS SDK的版本 |
MacOS的版本 |
---|---|
iPhone SDK 3.1.3 with XCode 3.1.4 |
Leopard (10.5.7) |
iPhone SDK 3.1.3 with XCode 3.2.1 iPhone SDK 3.2 Final with Xcode 3.2.2 |
Snow Leopard (10.6.0) |
Xcode 3.2.3 and iPhone SDK 4 GM seed Xcode 3.2.3 and iPhone SDK 4 Final |
Snow Leopard (10.6.2) |
Xcode 3.2.3 and iOS SDK 4.0.1 Xcode 3.2.3 and iOS SDK 4.0.2 Xcode 3.2.4 and iOS SDK 4.1 Xcode 3.2.5 and iOS SDK 4.2 GM Xcode 3.2.5 and iOS SDK 4.2 |
Snow Leopard (10.6.4) |
Xcode 3.2.6 and iOS SDK 4.3 |
Snow Leopard (10.6.6) |
然后一个经验教训就是:安装不可怕,安装了再升级也不可怕。一步到位无法完成的话,曲线救国也不失为一种方法。