Leopard中搭建iPhone toolchain环境并整合到XCode

Leopard中搭建iPhone toolchain环境并整合到XCode是本文要介绍的内容,网上搭建iPhone开放开发环境的文章已经不少了。本文参考了不少资料,详细说明如何成功在Leopard中搭建一个完整的开发环境并整合XCode进行iPhone源生程序的开发。

XCode中整合toolchain开发环境和苹果官方的iPhone SDK并不冲突,你可以在同一个XCode中既建立toolchain的开发工程,也可以建立官方的iPhone SDK工程。本文在Leopard 10.5.2,XCode 3.1 Beta 3(随iPhone SDK Beta3提供),iPhone OS 1.1.4测试通过。

准备工作

请确认操作系统为Leopard 10.5.2。

请确认XCode已经安装。最好安装最新的官方XCode 3.1 Beta。手中最好是有iPhone或者iPod Touch,已经jailbreak。获取toolchain源码

打开一个terminal窗口,随便建立一个目录

mkdir   


iphoneenv  


cd   


iphoneenv 

后面的操作都在这个目录中进行,只需复制下文文字框中的内容,贴到terminal窗口执行即可。

获取源码

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目录,那么执行下面操作(不要离开terminal的当前目录):

sudo   


mkdir /usr/local/share/iphone-filesystem  


sudo cp -Rp /iphone_image/*   


/usr/local/share/iphone-filesystem/  

设置$HEAVENLY的环境变量

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,新建一个项目,你会发现列表里已经出现了

iPhone UIKit   


Skeleton Application 

这样一个模板(不在iPhone OS分类里而是在Mac OS X分类)直接创建项目,取个名字,

直接编译,成功。

建议你使用本文的方法编译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 

直接删掉。

好了,这样,你的开发环境就搭建完了。真正全球第一款免复杂设置的iPhone ToolChain SDK 开发编译环境,一键式安装,立即开始使用,无须下载Toolchain源码进行复杂设置和变异,免除各种问题困扰。

Leopard中搭建iPhone toolchain环境并整合到XCode

软件主页:http://item.taobao.com/item.htm?id=5671586706

做过Jailbreak系统iPhone开发的软件开发人员都知道,想要配置一套传统的iPhone ToolChain 。

SDK编译开发环境要面对非常大的困难,并付出相当多的精力,克服各种各样的编译错误,最终才能完成;如果要更换计算机和系统,重复的工作并不能减少错误发生的可能,这一切都严重影响开发者的精力和效率。

除此之外,传统的iPhone ToolChain SDK无法在Snow Leopard(雪豹)MAC系统中编译部署,使得很多高版本系统用户无法使用iPhone
ToolChain SDK进行iPhone软件开发。

Leopard中搭建iPhone toolchain环境并整合到XCode

Leopard中搭建iPhone toolchain环境并整合到XCode

Leopard中搭建iPhone toolchain环境并整合到XCode

现在好了,SJ99推出了免配置的iPhone ToolChain

SDK开发包,开发者再也不用手工下载各种繁多的底层模块自行编译部署了,一键式安装瞬间即可完成,开发者立即可以开始iPhone软件本身的设计和研发工作,大大节省了时间和精力。 有了这套开发包,您可以在MAC系统中开发基于iPhone

ToolChain第三方开发库的应用程序,并将软件部署到JailBreak的iPhone设备中运行。

Leopard中搭建iPhone toolchain环境并整合到XCode

相关推荐