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

移动开发 iOS
在XCode中整合toolchain开发环境和苹果官方的iPhone SDK并不冲突,你可以在同一个XCode中既建立toolchain的开发工程,详细内容来看内容。

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窗口,随便建立一个目录

  1. mkdir   
  2. iphoneenv  
  3. cd   
  4. iphoneenv 

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

获取源码

  1. svn   
  2. co http://llvm.org/svn/llvm-project/llvm/trunk llvm-svn -r   
  3. 42498  
  4. pushd llvm-svn  
  5. ./configure –enable-optimized  
  6. make   
  7. ENABLE_OPTIMIZED=1 
  8. sudo make install  
  9. LLVMOBJDIR=`pwd`  
  10. popd  

获取iphone-dev SVN代码库

  1. svn checkout http://iphone-dev.googlecode.com/svn/trunk/   
  2. iphone-dev  
  3. pushd iphone-dev  

建立一个保存toolchain的目录。

  1. sudo mkdir   
  2. /usr/local/arm-apple-darwin   
  3. 编译odcctools  
  4. mkdir -p   
  5. build/odcctools  
  6. pushd build/odcctools  
  7. ../../odcctools/configure   
  8. target=arm-apple-darwin –disable-ld64  
  9. export INCPRIVEXT="-isysroot   
  10. /Developer/SDKs/MacOSX10.4u.sdk"  
  11. make  
  12. sudo make install  
  13. 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的当前目录):

  1. sudo   
  2. mkdir /usr/local/share/iphone-filesystem  
  3. sudo cp -Rp /iphone_image/*   
  4. /usr/local/share/iphone-filesystem/  

#p#

设置$HEAVENLY的环境变量

  1. HEAVENLY=/usr/local/share/iphone-filesystem  
  2. pushd   
  3. include  
  4. ./configure –with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk  
  5. sudo   
  6. bash install-headers.sh  
  7. popd  

安装csu

  1. mkdir -p   
  2. build/csu  
  3. pushd build/csu  
  4. ../../csu/configure   
  5. host=arm-apple-darwin  
  6. sudo make install  
  7. popd   
  8. configure和make LLVM-GCC   
  9.  
  10.  
  11. mv llvm-gcc-4.0-iphone/configure llvm-gcc-4.0-iphone/configure.old   
  12. sed 's/^FLAGS_FOR_TARGET=$/FLAGS_FOR_TARGET=${FLAGS_FOR_TARGET-}/g'   
  13. llvm-gcc-4.0-iphone/configure.old > llvm-gcc-4.0-iphone/configure  
  14. sudo ln -s /usr/local/arm-apple-darwin/lib/crt1.o   
  15. \/usr/local/arm-apple-darwin/lib/crt1.10.5.o  
  16. mkdir -p build/llvm-gcc-4.0-iphone  
  17. pushd build/llvm-gcc-4.0-iphone  
  18. export FLAGS_FOR_TARGET="-mmacosx-version-min=10.1"  
  19. sh ../../llvm-gcc-4.0-iphone/configure –enable-llvm=`llvm-config –obj-root`   
  20. \  
  21. enable-languages=c,c++,objc,obj-c++ –target=arm-apple-darwin   
  22. –enable-sjlj-exceptions \  
  23. with-heavenly=$HEAVENLY –with-as=/usr/local/bin/arm-apple-darwin-as \  
  24. with-ld=/usr/local/bin/arm-apple-darwin-ld  
  25. make LLVM_VERSION_INFO=2.0-svn-iphone-dev-0.3-svn   
  26. sudo make install  
  27. popd  
  28. popd 

这样,专门用来编译iPhone的toolchain gcc就编译完了,文件位置在:

  1. /usr/local/bin/arm-apple-darwin-gcc 

整合XCode

接下来,整合XCode:

下载XCode模板。解压缩,把

  1. iPhone   
  2. UIKit Skeleton Application 

这个文件夹复制到

  1. /Developer/Library/XCode/Project   
  2. Templates/Application/  

好了,打开XCode,新建一个项目,你会发现列表里已经出现了

  1. iPhone UIKit   
  2. Skeleton Application 

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

直接编译,成功。

建议你使用本文的方法编译toolchain,而不是直接下载别人编译好的安装包,这样问题会少很多。如果你下载了其他地方的例子,可能需要修改Makefile才可以编译成功。尤其是google code的iPhone代码。

比如:

你需要把

  1. CC=/usr/local/arm-apple-darwin/bin/gcc  
  2. 改成:  
  3. CC=/usr/local/bin/arm-apple-darwin-gcc -v  
  4. 把  
  5. CC=/usr/local/arm-apple-darwin/bin/g++ 

改成:

  1. CXX=/usr/local/bin/arm-apple-darwin-g++  

把LDFLAGS里的

  1. -Wl,-syslibroot,/usr/local/arm-apple-darwin/heavenly 

直接删掉。

#p#

好了,这样,你的开发环境就搭建完了。真正全球第一款免复杂设置的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 

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

小结:Leopard中搭建iPhone toolchain环境并整合到XCode的内容介绍完了,希望本文对你有所帮助!

【编辑推荐】

  1. iPad与iPhone 开发区别详解
  2. 解析Mac平台下使用XCode开发思想
  3. iPhone开发基础学习 在程序里设置Push
  4. iOS中Xcode和Interface Builder联合应用 实例操作
  5. 详解在Xcode以及Interface Builder下如何使用Cocoa
责任编辑:zhaolei 来源: 互联网
相关推荐

2011-07-19 13:20:22

Xcode

2011-07-29 13:40:00

Xcode iOS 4.2 iPhone

2011-07-22 18:25:20

XCode iPhone SDK

2011-07-08 16:02:24

iphone

2011-08-02 17:37:01

IPhone开发 环境搭建

2011-07-26 08:52:57

2011-07-18 15:42:20

Xcode iPhone dylib

2011-08-04 17:19:49

iPhone开发 Xcode 文档

2011-07-19 16:34:01

Xcode 证书

2011-07-06 17:53:40

iPhone SDK Xcode

2023-10-22 12:26:12

AI苹果

2011-08-29 11:32:44

UbuntuiPhone

2009-09-23 08:14:23

Windows 7嵌入Silverlight

2011-07-07 09:20:30

Xcode

2022-05-31 19:03:10

微软Windows 11账户

2023-02-02 19:12:24

ChatGPT人工智能

2011-07-27 17:41:35

Objective-C Xcode

2020-11-04 08:00:57

虚拟机stio网格

2011-07-01 13:46:55

服务器整合

2011-08-02 13:28:08

虚拟网络数据中心
点赞
收藏

51CTO技术栈公众号