一直以来都是做Web开发的,说实话时间长了总有些腻烦的感觉。最近一直在关注移动领域的开发,想从这个从未入手过的领域找点新鲜感和激情。在 Android和IOS之间的技术选型上确实犹豫了好久,Android的开放确实很吸引人,但是IOS的简约优雅也着实让我惊叹。于是决定先从它们的开 发语言入手,Android的开发语言是java,这个比较熟悉如果想要入手的话估计用不了很长时间,但是Android要借助于虚拟机来运行让我有点接 受不了,性能和效率问题值得考虑。IOS以Objective-C开发,直接编译为机器语言,虽然相比C、C++有点性能的损耗但是当我仔细的看了 Objective-C后才发现它设计的优雅。因此决定先从IOS入手。
手头没有Mac机,年前也没有购机计划了,决定先用黑苹果体验一下。接下来我会详细的介绍一下安装配置的过程。
操作系统选择
网上有好多版本的基于非苹果机的Mac系统,这里我选择了两个版本做试验。
- iATKOS_v7(Leopard 10.5.7) 镜像文件MD5:6395be5253f53f716ed042db1dd599f3
版本比较老,但是安装相对容易,多数机器都能安装上。
- iATKOS_S3_version2(Snow Leopard 10.6.3) 镜像文件MD5:55d3aaae14435065b53acb61e3bccae2
对于一些比较老的机器安装挺费劲的,成功率不是特别高。
这两个版本在网上很容易找到,这里就不提供下载链接了。需要的请自行搜索下载。
双系统安装工具
因为单纯的mac系统是不能在非mac机上运行的,因此我们需要有一个系统作为引导。我选择的是XP作为主系统来引导Mac系统启动。
首先将硬盘分区,20G用于安装XP系统,6G用于写入Mac系统的镜像文件用Fat32格式化,30G用于安装Mac系统。当然大小自己确定,只要保证能容得下相应数据即可。
如果机器已经安装XP或者Win7可以接着往下看,如果没有请先自行安装主操作系统。
下载“硬盘安装助手”用于写入Mac系统的镜像文件
解压后直接运行
选择刚刚下载的镜像文件,目标分区为刚才用fat32格式化的分区,其他保持不变,点击开始,耐心等待写入完毕。
下载“Bootthink_v2.4.6”用于引导mac系统安装,当然也可以用变色龙进行引导
解压安装到C:\Darwin\System\LibrarySL\Extensions\下面即可。
系统安装
重启电脑选择Bootthink引导进入iATKOS_v7或者iATKOS_S3
iATKOS_v7可能会出现不断重启的现象,如果一直不断的重启可以试一下在选择iATKOS_v7后输入busratio=20然后回车,一般可以正常进入。
接下来就可以进行系统安装了。
首先用 utilities 下的disk utility工具将目标磁盘抹掉为mac扩展日志式。
选择目标磁盘然后选择自定义进行驱动选择。
iATKOS_v7驱动选择参考,这里有所借鉴,并非自己总结。
iATKOS V7 Main System (iATKOS V7 基本组件,必选)
Bootloader ( 你必须选择一个引导..如果在RAID下安装的话..不要选任何的引导..请阅读RAID bootloader的 Readme文件)
Chameleon v2 (变色龙 v2.0 r431包括了你所需要的所有选项..支持GPT and MBR..感谢变色龙团队)
Chameleon v1 (变色龙 v1和DSDT,支持GPT和MBR分区格式,支持多种硬件..感谢变色龙团队,以及Mackerintel)
Xiezhy Booter (另一个OSX86的启动引导,像苹果的Boot Camp,支持GPT和MBR分区格式,原来的名字叫做Boot Think v1.1.0,开机按F8.输入'# -b'.使其在你的电脑上自动引导,之后你开机的时候需要按住'alt键来选择引导项,来自中国,感谢xiezhy制作)
X86 Patches (几个系统运行很重要的补丁,请仔细阅读这个介绍`)
/Extra directory (将在你的根目录创建一个Extra目录,这是一个放置x86驱动的地方,只有在Chameleon v2引导被选中的时候才会运行..这个不能被RAID 选择)
DSDT ( 这个补丁包用来修复你主板的DSDT文件.并且把它保存到一个主分区的目录中, DSDT修补程式v1.0.1e ,感谢fassl提取DSDT.)
Decrypters (这是在x86硬件上运行OSX系统必需的补丁,必须选择)
AppleDecrypt (核心破解驱动,必选)
dsmos (核心破解驱动,必选)
SMBIOS deivrs (SMBIOS驱动器,用于显示系统概述和内存相关信息。选择一个在x86 SMBIOS的驱动程序,)
SMBIOS Enablers (选择其中之一就可以了)
SMBIOS-EFI (用于台式电脑,用于显示系统概述)
SMBIOS-EFI Air (用于笔记本电脑,用于显示系统概述)
SMBIOS Resolver(用于显示系统概述 感谢:superhai)
SMBIOS Enabler (用于显示系统概述 感谢:Kabyl)
SMBIOS'for X86 (选择其中之一就可以了)
AppleSMBIOS-28 (用于显示系统概述,版本:1.0.14 感谢:mac.nub,一般选这个就可以了)
AppleSMBIOS-27 6th rev.iMac
AppleSMBIOS-27 6th rev.MacBook
AppleSMBIOS-27 netkas (用于显示系统概述,版本:1.0.12 感谢:netkas)
Kernel (破解内核)
9.5.0 Kernel voodoo (voodoo XNU 9.5.0内核,支持Intel/AMD,这个内核修复许多问题。来源Voodoo团队,此内核中还包括seatbelt.kext和System.kext补丁)
9.7.0 Kernel voodoo (voodoo XNU 9.7.0内核,支持Intel/AMD,这个内核修复许多问题。来源Voodoo团队。)
ACPI (改良的ACPI和APIC驱动。您可以选择只其中之一)
x86 ACPI (x86 modified AppleACPIPlatform.kext. Some motherboards may not work with stock ACPI. Do not select VoodooPS2 with this x86 ACPI, use ApplePS2 instead.)
APIC driver (Old APIC and ACPI drivers for some motherboards. Do not select VoodooPS2 with this, use ApplePS2 instead.)
Disabler (禁用不能正常启动的原版驱动)
OHR (OpenHaltRestart 是一个内核的扩展,它修复了重启/关机问题.)
Remove TyMCE (删除TyMCE驱动,它可能会把你的电脑识别成MacPro4,1 这样可能会导致内核出错,Chameleon v2、SMBIOS或者其他的SMBIOS驱动可能会把你的电脑命名为MacPro4.1.这会导致内核出错,所以你可以通过安装这个补丁包来解决)
Drivers (驱动程序)
VGA (显卡驱动程序)
nVidia (nVidia显示卡驱动程序)
EFI string for nVidia (支持许多的台式机的nvidia显卡,请选择一个合适的显卡输出)
DVI/DVI (用于NV显卡的DVI/DVI输出)
DVI/VGA (用于NV显卡的DVI/VGA输出)
VGA/DVI (用于NV显卡的VGA / DVI输出)
Enabler (Enablers for nVidia cards. You may select only one enabler.)
NVEnabler (NVEnabler v0.1 by Fassl, Turbo and Krazubu. VRAM size detection by Kabyl. This kext allows nVidia driver to load by injecting the required settings and this automatically tweaks them according to your hardware by directly reading your VGA ROM. It also does on-the-fly ROM patching to give a stabler output configuration. This is an alpha version and it's not finished.)
Natit (最新的Natit驱动,包含支持GTX 2XX系列)
CoreVidia (修改支持GT200芯片和1536MB的显存,感谢:Xdarwin)
Old Enabler (这些是旧的驱动,其中一些是修改过的.已经在很多设备上成功,很多9*** 系列使用NVinject, NVdarwin or NVkush都成功了)
NVinject (NV显卡驱动,修正版,支持包括主流NV显卡)
NVdarwin (NV显卡驱动,修正版,支持包括主流NV显卡,感谢:Xdarwin)
NVkush (NV显卡驱动,支持包括主流NV显卡,作者:HighJinx )
Natit old (老的Natit显卡驱动,作者:HighJinx)
Titan (Titan NVIDIA显卡驱动,支持大部分,感谢:omni)
NVinject Mobile (笔记本使用的NVIDIA显卡驱动,如果其他驱动不行,可以试试这个)
nVidia GT200 (支持nVidia GT200,包括GTX 2xx 和Quadro FX 4800/5800系列)
nVidia GT200 EVGA (nVidia 2F16 Mac Pro Update for GTX285 from EVGA. In other words, another driver for GTX 2xx and Quadro FX 4800/5800.)
Remove NVDAResman (如果你的显卡很老,请选择这个,作者:我不认为有很多的人会需要这个,我仍然把这个补丁留着,只是为了另有需要)
ATI (ATI 的显卡驱动程序)
ATI HD (ATI HD 系列驱动)
Intel (Intel 的显卡驱动程序)
EFI string for Intel (GMA 950和X3100显卡驱动)
Intel GMA 950 (Intel GMA 950显卡驱动)
GMA 950 Laptop (GMA 950显卡驱动,用于笔记本版本)
GMA 950 Desktop(GMA 950显卡驱动,用于台式机版本)
GMA 950 Rare (GMA 950显卡驱动,用于其他一些罕见的设备ID)
GMA X3100 (Intel GMA X3100 显卡驱动)
GMA X3100 (Intel GMA X3100驱动,也适用于一些使用GMA 950芯片的笔记本电脑)
GMA X3100 p (Intel GMA X3100驱动,解决显卡无法在原来苹果驱动程序下的问题.在你安装好系统之后,你的X3100(用这个驱动的)也许会不能使用. 那么.升级好之后你用GMA X3100c.pkg来重装安装驱动,这个GMAX3100c.pkg在/System/Installation/Packages目录下)
System (系统驱动程序)
SATA/IDE (SATA/IDE 设备驱动)
AHCI (如果你在BIOS打开了AHCI,如果需要使用请选择此驱动)
Intel SATA/IDE (支持非Intel的AHCI SATA/IDE。.纯真的10.5.7只能支持ICH7和一些ICH8 Non-AHCI SATA/IDE,但是这个驱动支持全部的ICH系列)
JMicron SATA/IDE (加强JMicron控制器支持)
VIA SATA/IDE (支持许多非Intel的SATA / IDE控制器,像威盛,SIS、SI、ULI、 Marvell ,一些其他的ATI和nForce芯片组)
ATI SATA/IDE (支持ATI-SB系列SATA / IDE控制器。也支持更多)
nForce SATA/IDE (支持 nForce的SATA/IDE控制器,感谢:medevil)
Generic SATA/IDE (支持很多非Intel IDE 设备使其正常工作..)
Intel Speedstep (支持Intel CPU的电源管理和控制应用程序,感谢:superhai 。)
Speedstep Driver (电源管理,包括VoodooPower.kext v1.2.3,感谢:superhai 。)
Throttling Control (一个CPU管理工具,名叫:GenericCPUPMControl,感谢:superhai.)
CardBus driver (一些PC卡的支持驱动,这个或许需要主板集成的firewire芯片,PC卡槽,USB插槽,读卡器和PCI插槽,如果你有一块兼容但是却没有用的PCI卡.无线网卡或者不用的集成firewire芯片,那么你应该试试用这个驱动.要声明的是这个补丁包包括一个能够覆盖掉之前的ACPI驱动的ACPI驱动,)
USB (USB工作有问题时使用的USB驱动,补丁:IOUSBFamily.kext v344.2,你可以把CardBus驱动增加到你选择的中去,来使你的USB完美的工作)
Sound (几乎支持世界上所有板载声卡驱动程序)
Voodoo HDA driver (Voodoo HDA声卡驱动程序v0.2.1,支持各种集成声卡芯片.这个有些时候会导致内核出错,特别是使用改良版的ACPI驱动共同使用的时候,但是只要重启就可以解决了)
Azalia Audio Driver (Azalia 音频的一些板载音效芯片驱动程序。没有输入端口,只有声音输出。)
AppleHDA 10.5.6 (10.5.6 AppleHDA 声音驱动程序。支持AppleHDA injectors )
PS/2 mouse/keyboard (PS/2鼠标/键盘驱动,你只能选其中一个,否则可能会遇到核心出错)
Voodoo PS/2 driver (PS/2鼠标/键盘驱动程序,PS/2鼠标、键盘驱动一般选择这个就可以了)
Voodoo PS/2 mouse/keyboard driver with trackpad plugin (PS/2鼠标/键盘驱动程序,包括触控板插件,这可能会导致冻结某些笔记本电脑。)
Apple PS/2 driver (苹果电脑的PS/2接口驱动程序,老式的PS/2鼠标/键盘驱动程序)
Laptop Battery (笔记本电池检测驱动程序,作者:superhai 版本:VoodooBattery.kext v1.2.1)
RAID (这个选项是在com.apple.Boot.plist内增加了 RAID 用的UUID,只有用RAID的时候才选)
ext2fs (安装用于读写Linux系统ext2和ext3磁盘分区)
NTFS-3G (安装用于读写Windows系统NTFS磁盘分区)
Network (网络设备驱动程序)
Wired (有线网卡驱动程序)
Realtek (Realtek的有线以太网驱动程序)
Realtek R1000 (瑞昱RTL8168 、RTL8111、RTL8169和RTL8101芯片的以太网驱动程序。双千兆网络也支持。)
Realtek RTL8201CL (瑞昱RTL8201CL芯片以太网驱动程序,作者:orByte)
Realtek RTL8139 (Realtek RTL8139芯片的以太网驱动程序,作者:orByte 。)
Marvel (Marvell的有线以太网驱动程序)
Marvell Yukon 88E8001(Marvell Yukon 88E8001以太网卡驱动程序)
Marvell Yukon 88E8056 (Marvell Yukon 88E8056以太网卡驱动程序)
Intel (英特尔有线以太网驱动程序)
Intel Pro/100 VE (英特尔8255x芯片组,英特尔Pro/100 VE 以太网驱动程序。)
Intel Gigabit (英特尔82566MM千兆以太网芯片组的驱动程序。)
Broadcom (Broadcom的有线以太网驱动程序)
Broadcom BCM440x (Broadcom BCM440x芯片的以太网驱动程序)
Broadcom BCM5751 (Broadcom BCM5751芯片的以太网驱动程序)
Broadcom BCM578xM (Broadcom BCM578xM芯片组的以太网驱动程序和en0修复驱动)
nForce ethernet (nForce以太网卡驱动程序)
VIA Rhine (威盛Rhine芯片组的以太网驱动程序)
SiS 191 (SIS191芯片组,千兆以太网卡驱动程序)
Wireless (无线网卡驱动)
Broadcom BCM43xx (Broadcom BCM43xx芯片组PCI接口的无线以太网驱动程序。几乎支持所有43xx系列,从4301到4339 。一些修正可能有问题..你的电脑最好的选择就是一块Broadcom 43xx无线网卡..)
Zydas USB (益勤科技ZD1211、ZD1215芯片组USB接口的无线驱动程序。)
Ralink (雷凌无线网卡驱动)
Ralink RT2500, RT73 USB (雷凌RT2500、RT73芯片USB接口的无线驱动程序并重新插件补丁。)
Ralink RT2870 USB (雷凌RT2870芯片USB接口的无线驱动程序)
Ralink RT2860 PCI (雷凌RT2860芯片组PCI接口的无线驱动程序)
Ralink RT61 PCI (雷凌RT61芯片组PCI接口的无线驱动程序)
Realtek (瑞昱无线网卡驱动)
Realtek 8187 USB (瑞昱8187芯片组USB接口的无线驱动程序)
Realtek 8187B USB (瑞昱8187B芯片组USB接口的无线驱动程序)
Realtek 8187L USB (瑞昱8187L芯片USB接口的无线驱动程序)
Realtek 8187SE PCI (瑞昱8187SE芯片组PCI接口的无线驱动程序)
Languages (选择你看得懂的语言)
Post-Install Actions (Post-Install脚本必需在安装好OSX86系统后运行, 若是你想要升级或是更新你的OSX系统的话这个是必需选择的, 如果你只是驱动或是给系统打补丁你就不要选这个补丁)
如果发现安装之后键盘一直有某些键在不停的触发,原因可能有两个,其一:鼠标键盘驱动选多了;其二:可以只选择选择Apple PS/2 driver试一下。
iATKOS_S3驱动选择参考
s3的驱动选择要简单的多,如果对驱动不是特别了解的话可以默认选择不要动,安装之后再去寻找相应的驱动,一般也可以安装成功。这里可以继续参考v7的选择,灵活变通即可。
进入系统
耐性等待系统安装完成,让系统自己重启,不要去点击重启按钮。
iATKOS_v7的安装到这里就应该结束了,重启后绝大多数情况都可以进入系统。
iATKOS_S3可能就没有那么容易了,我的是安装之后一直放音乐没有任何画面,然后音乐结束还是停留在白苹果界面,刚开始以为安装除了问题,如此反复的折腾了6、7次结果一样。郁闷了几天,后来又开始尝试,最终是通过启动时输入指令-v -x -f cpus=1进入系统了。具体原因不详。
系统安装到此就已经结束了。整个过程可谓颇费周折,不过还好,系统是安装成功了。
IOS开发环境搭建
因为苹果的sdk和ide是和操作系统配合使用的,因此各个版本的操作系统需要不同版本的sdk,这点让我非常郁闷,因为每个sdk都从2G到4G不等,下载破费时间。
这里先附上几个SDK+Xcode的下载地址。
适用于Leopard的:
iPhone SDK 2.2.1 :
iPhone SDK 3.0 with Xcode 3.1.3 – Leopard :
iPhone SDK 3.1 with Xcode 3.1.4 – Leopard :
iPhone SDK 3.1.2 with Xcode 3.1.4 – Leopard :
iPhone SDK 3.1.3 with Xcode 3.1.4 – Leopard :
适用于Snow Leopard的
iPhone SDK 3.0 with Xcode 3.2 – Snow Leopard :
iPhone SDK 3.1 with Xcode 3.2.1 – Snow Leopard :
iPhone SDK 3.1.2 with Xcode 3.2.1 – Snow Leopard :
iPhone SDK 3.1.3 with Xcode 3.2.1 – Snow Leopard :
iPhone SDK 3.2 Beta 4 with Xcode 3.2.2 – Snow Leopard :
http://developer.apple.com/ios/download.action?path=/iphone/iphone_sdk_3.2_beta_4/iphone_sdk_3.2_beta_4_with_xcode_3.2.2.dmg
iPhone SDK 3.2 FInal with Xcode 3.2.2 – Snow Leopard :
这个是比较老的几个版本,新版本的SDK可以去苹果的开发者网站下载http://developer.apple.com/
下载完成之后就可以在mac系统中进行安装了。
不过在安装过程中还会有小版本的限制。比如xcode3.2.6+iphone_sdk 4.3需要Snow Leopard 10.6.6及其以上版本。
这个时候你有两个选择:其一,升级操作系统这个代价有点大,而且相当麻烦。其二,选择低版本的sdk;
当然还有另一个选择,通过调整操作系统的版本号来骗过sdk安装过程中的版本检测。
方法如下:
1、打开Terminal(终端)
2、输入sudo -s
3、输入密码获取root权限
4、cd / 退回到根目录
5、cd /System/Library/CoreServices 进入CoreServices目录
6、cp SystemVersion.plist SystemVersion.plist.bak 备份版本信息文件
7、vi SystemVersion.plist 打开并修改文件将其中的版本号改为sdk要求的版本号
8、:w! 强制保存
9、:q 退出
这个时候再运行sdk的安装文件就可以顺利安装了,经测试xcode3.2.6+iphone_sdk 4.3可以运行在10.6.3版本上,可以编译。