iPhone App 开发第一步:从零到真机调试HelloWorld
iCc原创,转载请注明出处!
最近才开始研究iPhone开发,由于没有Mac,采用的是AMD CPU + Win7 + VMWare之后安装Mac OS X Snow Leopard,再升级,再安装XCode 4.2和iOS SDK 5.0,是最为费劲和折腾的一种方式了,如果条件允许,请勿搞些折腾,费时费力。此后真机调试用的是自己的iPhone 4s,系统5.0已越狱,非越狱机器且无IDP账号怎么调试,我未进行试验。以后肯定会登陆App Stroe,到时候再说。
下面开始说重点,主要是以下几个步骤:
1、安装VMWare和Mac OSX Snow Leopard
注意:我的机器配置如下,若低于此配置建议放弃此安装,建议买卖一台Mac,否则即使装起来了,也没有多少实际意义,一个字:卡
另外,虚拟机硬盘至少留80GB空间,一次到位,免得以后麻烦。
安装过程我也是网上学来的,可参考此文:http://bbs.weiphone.com/read-htm-tid-1628444.html
要注意几个要点就是:(1)引导的iso要用对,在安装系统之前,因为是amd的机器(intel已经可以装lion了,此处不再讨论),应用darwin_snow_legacy.iso,进行引导,之后一路安装直至成功;
(2)安装完成后,装VMTools实现共享,以及声卡驱动;(3)之后要对系统进行升级(我是从10.6升级至10.6.7),升级前应安装kenerl破解补丁,否则升级后坏死,得重装。升级采用自己下载Combo升级文件(如MacOSXUpdCombo10.6.7.dmg);(4)升级完成,再用darwin_snow_legacy.iso已无法引导系统,换成Rebel EFI.iso。至此大概完成Mac OSX系统的安装。下面是要用到的各种文件,此处不保证以下下载地址有效,若失效就自己找,刚才的链接帽子里有:
VMWare 8.0以及汉化包:http://3.xp510.com:801/xp2011/VMware_Workstation_wmb.zip
Mac OSX 系统Snow Leopard 10.6: [苹果雪豹操作系统正式版].snowleopard_10a432_userdvd.dmg,下载地址已经丢失,估计verycd或其它网上有很多,下载下载是10.6的系统
Rebel EFI.iso:thunder://QUFodHRwOi8vZG93bmxvYWRzLml0bW9wLmNvbS9zeXN0ZW0vc3lzdGVtcXQvUmViZWwuRUZJK2Rhcndpbi56aXBaWg==
Mac OSX 系统10.6.7(或更高)Combo升级包:苹果官网下就可以:http://support.apple.com/kb/DL1361
内核破解补丁,一定要在安装Combo升级包前安装,否则,系统白装,从头再来 legacy_kernel.pkg.zip:http://zjmcc.att.weiphone.com/temp11/Day_110211f/legacy_kernel-10.6.0.pkg.zip(此文件要怎么装?在Mac 10.6下安装)
2、之后安装Xcode
十分费劲,安装过程中可能数次黑屏死机重启,木有关系,一直装到/Developer/Applications目录下有XCode并且可以运行就OK,管它报什么错
3、之后把iTunes升级到10.6以上版本,其它软件组件勿升级,即只下载iTunes最新版安装即可,否则可能系统白装。不升级iTunes的后果是,插上iPhone无反应,不识别。
4、网上学习如何在XCode中写一个HelloWorld,并在iOS 5.0的模拟器中运行成功后,开始真机调试过程。
首先,iPhone需要越狱,非越狱机器此处未研究如何在无IDP账号的情况下,真机调试。
接下来,还要做一些事情:
(1)创建证书:除名称填为下图外,一路确定即可:
选择钥匙串访问
填入iPhone Developer
(2)之后,在Shell里改一些东西:
修改SDKSettings.plist
先备份原文件:
cd /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/
sudo cp SDKSettings.plist SDKSettings.plist.orig
进行编辑:
sudo vi SDKSettings.plist
将以下两段中的YES改为NO
<key>CODE_SIGNING_REQUIRED</key>
<string>YES</string>
...
<key>ENTITLEMENTS_REQUIRED</key>
<string>YES</string>
修改Info.plist
同样先备份原文件:
cd /Developer/Platforms/iPhoneOS.platform/
sudo cp Info.plist Info.plist.orig
进行编辑:
sudo vi Info.plist
将全部的XCiPhoneOSCodeSignContext 修改成 XCCodeSignContext,一共有 3 处。
(3)在XCode中设置你的HelloWorld工程,将Code Sign那项全部改成Don't Code Sign:(这一步每个工程都需要做一次)
然后,插上你的iPhone(我的是iPhone 4s,5.0系统),并点VMware右下角的,USB图标,确定和主机断开连接(就是和Win7断开,和虚拟机连接),之后,运行一次XCode,因为是第一次插入此设备,XCode会启动Orgnizer,来识别你的iPhone,又因为是越狱机器,会提示该系统无法识别,需要收集信息,木有关系,点收集(Collect),直至你的iPhone在Orgnizer中的Device中可以显示,并且旁边是小绿色圆点(红点或黄点均表示配置仍不成功),说明你的iPhone 已经被XCode接受了。此时,回到XCode中,Scheme处已经可以选择你的iPhone,那么一切OK,选择你的iPhone,Run,管它报什么错,直至iPhone已经安装了你的HelloWorld程序。
好了,先写到这里,肯定有错误或遗漏的地方,以后再补充完善。总之,非Mac机器要想玩Mac系统以及XCode,是很痛苦的一件事,还需要一定的RP,祝你好运!