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

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

后面的操作都在这个目录中进行,只需复制下文文字框中的内容,贴到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  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

获取iphone-dev SVN代码库

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

建立一个保存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 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

获取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/  
  • 1.
  • 2.
  • 3.
  • 4.

#p#

设置$HEAVENLY的环境变量

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

安装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 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.

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

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

整合XCode

接下来,整合XCode:

下载XCode模板。解压缩,把

iPhone   
UIKit Skeleton Application 
  • 1.
  • 2.

这个文件夹复制到

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

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

iPhone UIKit   
Skeleton Application 
  • 1.
  • 2.

这样一个模板(不在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++ 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

改成:

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

把LDFLAGS里的

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

直接删掉。

#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

2025-03-05 11:23:44

2011-08-02 17:37:01

IPhone开发 环境搭建

2011-07-08 16:02:24

iphone

2011-07-26 08:52:57

2011-08-04 17:19:49

iPhone开发 Xcode 文档

2011-07-18 15:42:20

Xcode iPhone dylib

2011-07-06 17:53:40

iPhone SDK Xcode

2011-07-19 16:34:01

Xcode 证书

2023-10-22 12:26:12

AI苹果

2009-09-23 08:14:23

Windows 7嵌入Silverlight

2011-08-29 11:32:44

UbuntuiPhone

2011-07-07 09:20:30

Xcode

2023-02-02 19:12:24

ChatGPT人工智能

2022-05-31 19:03:10

微软Windows 11账户

2011-07-07 17:36:13

iPhone Xcode 窗口

2011-07-27 17:41:35

Objective-C Xcode

2011-08-02 13:28:08

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

51CTO技术栈公众号