Leopard中搭建iPhone toolchain環(huán)境并整合到XCode
Leopard中搭建iPhone toolchain環(huán)境并整合到XCode是本文要介紹的內容,網上搭建iPhone開放開發(fā)環(huán)境的文章已經不少了。本文參考了不少資料,詳細說明如何成功在Leopard中搭建一個完整的開發(fā)環(huán)境并整合XCode進行iPhone源生程序的開發(fā)。
在XCode中整合toolchain開發(fā)環(huán)境和蘋果官方的iPhone SDK并不沖突,你可以在同一個XCode中既建立toolchain的開發(fā)工程,也可以建立官方的iPhone SDK工程。本文在Leopard 10.5.2,XCode 3.1 Beta 3(隨iPhone SDK Beta3提供),iPhone OS 1.1.4測試通過。
準備工作
請確認操作系統(tǒng)為Leopard 10.5.2。
請確認XCode已經安裝。最好安裝最新的官方XCode 3.1 Beta。手中最好是有iPhone或者iPod Touch,已經jailbreak。獲取toolchain源碼
打開一個terminal窗口,隨便建立一個目錄
- mkdir
- iphoneenv
- cd
- iphoneenv
后面的操作都在這個目錄中進行,只需復制下文文字框中的內容,貼到terminal窗口執(zhí)行即可。
獲取源碼
- svn
- co http://llvm.org/svn/llvm-project/llvm/trunk llvm-svn -r
- 42498
- pushd llvm-svn
- ./configure –enable-optimized
- make
- ENABLE_OPTIMIZED=1
- sudo make install
- LLVMOBJDIR=`pwd`
- popd
獲取iphone-dev SVN代碼庫
- svn checkout http://iphone-dev.googlecode.com/svn/trunk/
- iphone-dev
- pushd iphone-dev
建立一個保存toolchain的目錄。
- sudo mkdir
- /usr/local/arm-apple-darwin
- 編譯odcctools
- mkdir -p
- build/odcctools
- pushd build/odcctools
- ../../odcctools/configure
- –target=arm-apple-darwin –disable-ld64
- export INCPRIVEXT="-isysroot
- /Developer/SDKs/MacOSX10.4u.sdk"
- make
- sudo make install
- popd
獲取iPhone中的框架和頭文件
獲取這個iPhone的鏡像有很多辦法,這里介紹幾種:
最省事的辦法(如果手頭沒有iPhone或是沒有wi-fi):在google搜索iphone_image,找到了就直接下載,解壓縮。麻煩點的辦法(手頭有jailbreak并安裝了installer的iPhone或者iPod Touch):
如果你家里或者單位有wi-fi,而且iPhone已經連上w-ifi,直接在iPhone的Installer里找到BSD Subsystem和OpenSSH并安裝,然后用scp把iPhone里面從根目錄開始的所有子目錄的所有的文件拷貝出來。
或者在installer里安裝AFPd,然后用Finder打開afp://你的iphone的ip地址,用戶名用root, 密碼用alpine,把里面的所有文件直接拽出來。
詳細方法不介紹了,相信你一定能搞定。
復制鏡像
假設你把這個鏡像里的所有文件都放在/iphone_image目錄,那么執(zhí)行下面操作(不要離開terminal的當前目錄):
- sudo
- mkdir /usr/local/share/iphone-filesystem
- sudo cp -Rp /iphone_image/*
- /usr/local/share/iphone-filesystem/
#p#
設置$HEAVENLY的環(huán)境變量
- HEAVENLY=/usr/local/share/iphone-filesystem
- pushd
- include
- ./configure –with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk
- sudo
- bash install-headers.sh
- popd
安裝csu
- mkdir -p
- build/csu
- pushd build/csu
- ../../csu/configure
- –host=arm-apple-darwin
- sudo make install
- popd
- configure和make LLVM-GCC
- mv llvm-gcc-4.0-iphone/configure llvm-gcc-4.0-iphone/configure.old
- sed 's/^FLAGS_FOR_TARGET=$/FLAGS_FOR_TARGET=${FLAGS_FOR_TARGET-}/g'
- llvm-gcc-4.0-iphone/configure.old > llvm-gcc-4.0-iphone/configure
- sudo ln -s /usr/local/arm-apple-darwin/lib/crt1.o
- \/usr/local/arm-apple-darwin/lib/crt1.10.5.o
- mkdir -p build/llvm-gcc-4.0-iphone
- pushd build/llvm-gcc-4.0-iphone
- export FLAGS_FOR_TARGET="-mmacosx-version-min=10.1"
- sh ../../llvm-gcc-4.0-iphone/configure –enable-llvm=`llvm-config –obj-root`
- \
- –enable-languages=c,c++,objc,obj-c++ –target=arm-apple-darwin
- –enable-sjlj-exceptions \
- –with-heavenly=$HEAVENLY –with-as=/usr/local/bin/arm-apple-darwin-as \
- –with-ld=/usr/local/bin/arm-apple-darwin-ld
- make LLVM_VERSION_INFO=2.0-svn-iphone-dev-0.3-svn
- sudo make install
- popd
- popd
這樣,專門用來編譯iPhone的toolchain gcc就編譯完了,文件位置在:
- /usr/local/bin/arm-apple-darwin-gcc
整合XCode
接下來,整合XCode:
下載XCode模板。解壓縮,把
- iPhone
- UIKit Skeleton Application
這個文件夾復制到
- /Developer/Library/XCode/Project
- Templates/Application/
好了,打開XCode,新建一個項目,你會發(fā)現列表里已經出現了
- iPhone UIKit
- Skeleton Application
這樣一個模板(不在iPhone OS分類里而是在Mac OS X分類)直接創(chuàng)建項目,取個名字,
直接編譯,成功。
建議你使用本文的方法編譯toolchain,而不是直接下載別人編譯好的安裝包,這樣問題會少很多。如果你下載了其他地方的例子,可能需要修改Makefile才可以編譯成功。尤其是google code的iPhone代碼。
比如:
你需要把
- CC=/usr/local/arm-apple-darwin/bin/gcc
- 改成:
- CC=/usr/local/bin/arm-apple-darwin-gcc -v
- 把
- CC=/usr/local/arm-apple-darwin/bin/g++
改成:
- CXX=/usr/local/bin/arm-apple-darwin-g++
把LDFLAGS里的
- -Wl,-syslibroot,/usr/local/arm-apple-darwin/heavenly
直接刪掉。
#p#
好了,這樣,你的開發(fā)環(huán)境就搭建完了。真正全球第一款免復雜設置的iPhone ToolChain SDK 開發(fā)編譯環(huán)境,一鍵式安裝,立即開始使用,無須下載Toolchain源碼進行復雜設置和變異,免除各種問題困擾。

軟件主頁:http://item.taobao.com/item.htm?id=5671586706
做過Jailbreak系統(tǒng)iPhone開發(fā)的軟件開發(fā)人員都知道,想要配置一套傳統(tǒng)的iPhone ToolChain 。
SDK編譯開發(fā)環(huán)境要面對非常大的困難,并付出相當多的精力,克服各種各樣的編譯錯誤,最終才能完成;如果要更換計算機和系統(tǒng),重復的工作并不能減少錯誤發(fā)生的可能,這一切都嚴重影響開發(fā)者的精力和效率。
除此之外,傳統(tǒng)的iPhone ToolChain SDK無法在Snow Leopard(雪豹)MAC系統(tǒng)中編譯部署,使得很多高版本系統(tǒng)用戶無法使用iPhone
ToolChain SDK進行iPhone軟件開發(fā)。

現在好了,SJ99推出了免配置的iPhone ToolChain
SDK開發(fā)包,開發(fā)者再也不用手工下載各種繁多的底層模塊自行編譯部署了,一鍵式安裝瞬間即可完成,開發(fā)者立即可以開始iPhone軟件本身的設計和研發(fā)工作,大大節(jié)省了時間和精力。 有了這套開發(fā)包,您可以在MAC系統(tǒng)中開發(fā)基于iPhone
ToolChain第三方開發(fā)庫的應用程序,并將軟件部署到JailBreak的iPhone設備中運行。

小結:Leopard中搭建iPhone toolchain環(huán)境并整合到XCode的內容介紹完了,希望本文對你有所幫助!
【編輯推薦】






















