yimadai
TW金牌会员

UID 138204
精华
19
积分 1027
帖子 512
阅读权限 70
注册 2008-7-23
状态 离线
|
|
|
搭建iphone开发环境
17 Apr tech.techweb.com.cn%d)b'|8t,@'K8s4r2t8s W
*B,B+g.v.f R5\,[(k;q'~
网上搭建iPhone开放开发环境的文章已经不少了。本文参考了不少资料,详细说明如何成功在Leopard中搭建一个完整的开发环境并整合XCode进行iPhone源生程序的开发。
6l&]7g+g;?.y!_.~TechWeb-技术社区7m p+k3l2j)T+y
在XCode中整合toolchain开发环境和苹果官方的iPhone SDK并不冲突,你可以在同一个XCode中既建立toolchain的开发工程,也可以建立官方的iPhone SDK工程。,{)m#l1l+v4`"C(G
TechWeb-技术社区0T3H r:F'x!]!t(s%C ?
本文在Leopard 10.5.2,XCode 3.1 Beta 3(随iPhone SDK Beta3提供),iPhone OS 1.1.4测试通过。tech.techweb.com.cn#v0D$`2C$Y/D,t(W$|
6Q!i*o5x }.w!k:n.r&C8n5P'^'J(m,l6E'F.F
0L;@6q$v7M$B v程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛准备工作 请确认操作系统为Leopard 10.5.2。TechWeb-技术社区#k6y9Y"j$R;G)Q#B6`
请确认XCode已经安装。最好安装最新的官方XCode 3.1 Beta。
;w*O,t#r(d9}6J程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛手中最好是有iPhone或者iPod Touch, 已经jailbreak。
(P"j&P5?.p2U程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛获取toolchain源码 TechWeb-技术社区%};L6M#T+X1F4d/E
打开一个terminal窗口,随便建立一个目录程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛.r.n+s*N:v,x!^
%a/Z1P2@,v,N:J#Y-Ptech.techweb.com.cn- mkdir iphoneenv
0b&H S:i4{#R0\ - cd iphoneenv程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛:I1B"J&A+E/I:g*?)d#S
0z%I%L-O*j9s$Y#["K5R/M)l后面的操作都在这个目录中进行,只需复制下文文字框中的内容,贴到terminal窗口执行即可。)I$U(P:C$B,F$I5C
tech.techweb.com.cn,})t.k,M0I N%~+g+p
获取源码
"{#c5z \8K;Z4L"[1Y9Ytech.techweb.com.cn- svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm-svn -r 42498
)O$W8\+P&g0K9\+X;j1H - pushd llvm-svn
0Q;W5z4]5e+F:i0R(O程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 - ./configure –enable-optimizedtech.techweb.com.cn%g4~ q,d(@5i0h.p
- make ENABLE_OPTIMIZED=1!s%@/E/x1f6w'E$I'K
- sudo make installtech.techweb.com.cn!V4P!v K.C7g&\&t6B&z
- LLVMOBJDIR=`pwd`
2F3h*U2^:}&f - popd程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛0x!W#e+h:@)y V1|4L!b
程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛$G.u$z:U,S4O0R
&N9b/n.f$h#@,v获取iphone-dev SVN代码库
!Q-p;m3G8[2P!B-|- svn checkout http://iphone-dev.googlecode.com/svn/trunk/ iphone-devTechWeb-技术社区 _8Y&D0y"T,[ c0a
- pushd iphone-dev程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛#e/\0]5Q3X
/N"@;J$[8_3P$E)S"c7k7U程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛tech.techweb.com.cn4w*c2l9O)y)w$n'?7h
建立一个保存toolchain的目录。
8],c#}6P%W9s#H |TechWeb-技术社区- sudo mkdir /usr/local/arm-apple-darwin
!x"i6R#H9x1h&\7r-i
&L:s"F'A$b;B,z'a;K
4a-e n4_8?7T*F1fTechWeb-技术社区编译odcctools 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛0d!R9K-R!U$E+Y9q6D
- mkdir -p build/odcctools程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛:{)p.{3\+w"p N
- pushd build/odcctools
(G:B'b0~4` s"U l8vtech.techweb.com.cn - ../../odcctools/configure –target=arm-apple-darwin –disable-ld64TechWeb-技术社区%P _9G2i,U
- export INCPRIVEXT="-isysroot /Developer/SDKs/MacOSX10.4u.sdk" j!}*x!?!K,O&K&V,v,m
- make
-Q*U j.?6e - sudo make install
!}+I1B$s F*Q - popd程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛/}+R"L6f8L6H9\$M)a9d
程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛*d#P2k6l-P9G
-O1G(M(@-j&b*v获取iPhone中的框架和头文件 -Z)a%e+S*q'|
获取这个iPhone的镜像有很多办法,这里介绍几种::S9Y8f!}9S!T+@7a
S.R%Y%w"H(o+n"x/ETechWeb-技术社区最省事的办法(如果手头没有iPhone或是没有wi-fi):
9B+O6{/t2n7h:F
'_7F5Z9E+C-otech.techweb.com.cn在google搜索iphone_image,找到了就直接下载,解压缩。
:Z(m/S M1G7Ptech.techweb.com.cnTechWeb-技术社区#B0e4T'a2q$\)X-h%}
+F8|'X/q7t.}!D/p(z麻烦点的办法(手头有jailbreak并安装了installer的iPhone或者iPod Touch):-` g$l1y2f#Y+d
TechWeb-技术社区 j2d.Q(~5B+?2K
如果你家里或者单位有wi-fi,而且iPhone已经连上w-ifi,直接在iPhone的Installer里找到BSD Subsystem和OpenSSH并安装,然后用scp把iPhone里面从根目录开始的所有子目录的所有的文件拷贝出来。程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛.Q7b*w:g*w w2e
3B+`4h2A3U
或者在installer里安装AFPd,然后用Finder打开afp://你的iphone的ip地址,用户名用root, 密码用alpine,把里面的所有文件直接拽出来。
%o q/_'Y$P8j)~
7G"@5o Y3m,G详细方法不介绍了,相信你一定能搞定。
8J }'B,M)^'|!j*X/b8P7M5G"s#R
复制镜像
$j-V5d2x4D%c/K#X;d0o#bTechWeb-技术社区假设你把这个镜像里的所有文件都放在/iphone_image目录,那么执行下面操作(不要离开terminal的当前目录):-?4|.L2d/f)Q'o-r"m n"R
-T8D.O:Z-b%D%}4X
- sudo mkdir /usr/local/share/iphone-filesystem
*O5E$}/Z7M(q*i3n.]4E程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 - sudo cp -Rp /iphone_image/* /usr/local/share/iphone-filesystem/$p.m7M'B9A5C
7Q:K,F2`%e4E9N.Q8m%f
7{%\.s6^5k"p-a;KTechWeb-技术社区设置$HEAVENLY的环境变量
7K)j0C'W)B1z程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛- HEAVENLY=/usr/local/share/iphone-filesystem
V%L:c.H7W5]/STechWeb-技术社区
*S&K9H*^.R%H0s
$Y%]"l!e+`6T)n2s- pushd include+^&u,O4P8B _
- ./configure –with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk
!W4H+M l7i.E-d1b+s!S$C - sudo bash install-headers.sh
8W*O"r+E2P4O8A'i%v+h,] - popd
.{:{*\%M!l&ztech.techweb.com.cn 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛4\$P3_6k!c.r#Q2Q(K
/Q0k7u6d6r1v5i2z7_7X([程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛安装csu TechWeb-技术社区3I(]!F8K5p6A8p
- mkdir -p build/csu
6Z4k$s2f![/H - pushd build/csu
/f$X-v/U)F9G;r0];KTechWeb-技术社区 - ../../csu/configure –host=arm-apple-darwin+u-}/s2B'n8z+P+i4H
- sudo make installtech.techweb.com.cn)w/}7J5f;s
- popd3B8d8J-J6v,i(H
"R2W-[5A7W%m7j t+R2}2H7V#y
configure和make LLVM-GCC
2U/u4z"K6Y6l!x$P"@5X- mv llvm-gcc-4.0-iphone/configure llvm-gcc-4.0-iphone/configure.old
,F-P)j%Y4K*@8}6~(utech.techweb.com.cn - sed 's/^FLAGS_FOR_TARGET=$/FLAGS_FOR_TARGET=${FLAGS_FOR_TARGET-}/g' llvm-gcc-4.0-iphone/configure.old > llvm-gcc-4.0-iphone/configure3m)c4N$Q:]#j8l
- sudo ln -s /usr/local/arm-apple-darwin/lib/crt1.o \/usr/local/arm-apple-darwin/lib/crt1.10.5.o
(\ k1j#[-H.H,w1f - mkdir -p build/llvm-gcc-4.0-iphone
,v7i3`+C2f0B:w2J5u%m2h5W%{tech.techweb.com.cn - pushd build/llvm-gcc-4.0-iphone"b3Z/K#l.I)v(D'x4j%?
- export FLAGS_FOR_TARGET="-mmacosx-version-min=10.1"TechWeb-技术社区+h/A3j*@8N
- sh ../../llvm-gcc-4.0-iphone/configure –enable-llvm=`llvm-config –obj-root` \tech.techweb.com.cn%[*w1G(V!w*y-e
- –enable-languages=c,c++,objc,obj-c++ –target=arm-apple-darwin –enable-sjlj-exceptions \
:K7^.Z.G5V0R$U/R(A3n - –with-heavenly=$HEAVENLY –with-as=/usr/local/bin/arm-apple-darwin-as \
3c"O2}3\'V.?9`1l'h%e/@TechWeb-技术社区 - –with-ld=/usr/local/bin/arm-apple-darwin-ld(M&o+J"f#r!R3y"M0c
- make LLVM_VERSION_INFO=2.0-svn-iphone-dev-0.3-svn 2f"X9|%s/]-N"S'Q4w
- sudo make install
8B0C0N-j.`(d,|1P:T*otech.techweb.com.cn - popd
(N)L)f"Y&o3v#ATechWeb-技术社区 - popd
0f(G2q)M;C.q5Z'e&g.c.J程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛
1A!}2g/k0e3|tech.techweb.com.cntech.techweb.com.cn;l:M+t7x;P
这样,专门用来编译iPhone的toolchain gcc就编译完了,文件位置在:TechWeb-技术社区7L0{/C(Q$^8z#c
8o3D1c/j#z-R0N/H.C3@程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛- /usr/local/bin/arm-apple-darwin-gcc-i-g'@.h$r4J$M
+k%Q3G#P!M#u+x6g整合XCode
5S#o+w7c7h1d.Q接下来,整合XCode:
$P6c/M6^/F'K2[3U6I&W0I+F
下载XCode模板。
*[+R9y;p9M6p"v&Stech.techweb.com.cn!c2j'X$^8Z/O$D8m
解压缩,把
!j$O4a9f+I'j8z0m0p)U- iPhone UIKit Skeleton Application
*m,]3C2w3~-_5s.t1d6|)U!atech.techweb.com.cn
6W1]#j$x3N7a.Q(l-Xtech.techweb.com.cn这个文件夹复制到tech.techweb.com.cn-N5T)d.g*[7D
- /Developer/Library/XCode/Project Templates/Application/tech.techweb.com.cn#Q,Z7S']-T;V&r4z1z;o!G)S
6A$h7K;X-w8z
(R*G/L._)^7H8Z5f程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛好了,打开XCode,新建一个项目,你会发现列表里已经出现了程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛1X0k/|,m-y;[/}$l
iPhone UIKit Skeleton Application
;q5|/i5u'd程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛这样一个模板(不在iPhone OS分类里而是在Mac OS X分类)$]%G,y9e-Y.A
直接创建项目,取个名字, 直接编译,成功。程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛%H#K7y s3d$F;{2t0Z
"F2a:w(a:a:I*y建议你使用本文的方法编译toolchain,而不是直接下载别人编译好的安装包,这样问题会少很多。TechWeb-技术社区6J%]8o2m7[-]-s+n
2a)Q%~&j"_0r7{'X3K如果你下载了其他地方的例子,可能需要修改Makefile才可以编译成功。尤其是google code的iPhone代码。
7w+d-R6n1y/P#[/B程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛
+I:^+k6T&o!P6rTechWeb-技术社区比如:$E3m.Y)@!R6\9K5I
1G#C,@6e$u&?
你需要把程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛.i!w \&`2r"y'Z m6L
- CC=/usr/local/arm-apple-darwin/bin/gcc
/a.{.V0Y7r-ttech.techweb.com.cn
%T/{(M4X2N.N$y#@改成:
3d)f6\9D+V9u-E6b)]tech.techweb.com.cn- CC=/usr/local/bin/arm-apple-darwin-gcc -v
:x0h,l/i4B:{$u3\9t6W8Y 'J;p!_.T7o/j,| N
把!q+`*s#z(S;h9]"V'?&i
- CC=/usr/local/arm-apple-darwin/bin/g++
9{9D8`*u5i+U!R&d U tech.techweb.com.cn"a4k9t%T(x+k
改成:程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛.M3o4D-N8R2W.?
- CXX=/usr/local/bin/arm-apple-darwin-g++程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛.V.s;\"?6[1_&f m4O
(Z6E5x.h"|/D:g9_/[#w2h.o!h
4h6u:~:`0n/^2C'Q/Rtech.techweb.com.cn把LDFLAGS里的TechWeb-技术社区1h;m)o1y8i
- -Wl,-syslibroot,/usr/local/arm-apple-darwin/heavenlytech.techweb.com.cn;k"x#]3P:A#]
TechWeb-技术社区;y7x%u(x*J%@2p2\
直接删掉。程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 | Z&_0Q6L$Q1Q"X:s
TechWeb-技术社区&V&l9X&p4v
好了,这样,你的开发环境就搭建完了。
|
引用
回复
|
|