2022-10-23 344
如何在Ubuntu10.04上搭建iPhone开发环境呢?下文给出了详细的描述,具体内容如下所述。
1.准备Ubuntu环境
Ubuntu10.04
sudoapt-getinstallgit-corelibxar-devbisonflexpatchopenssllibbz2-devlibssl-devautoconf sudoapt-getinstallbuild-essentialgnustepgobjcgnustep-makelibgnustep-base-devgnustep-develuuid
gcc,g++等编译器默认已经安装
sudoapt-getinstallg++
Ubuntu10.04amd64:
在64位系统上,apt-get找不到xar,就从网站上下载xar安装,要先安装依赖文件libxar1,再安装xar
http://packages.Ubuntu.com/hardy/xar
2.准备SDK和iPhoneFireware文件
2.1
iPhone1,2_3.1.2_7D11_Restore.ipsw
http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7265.20091008.Xsd32/iPhone1,2_3.1.2_7D11_Restore.ipsw
2.2
iphone_sdk_3.1.2_with_xcode_3.1.4__leopard__9m2809.dmg
3.准备iphonedevonlinux源代码、SDK和firmware文件
3.1 checkoutiphonedevonlinux源代码
$mkdir-p~/iPhone/toolchain $cd~/iPhone/toolchain $svncheckouthttp://iphonedevonlinux.googlecode.com/svn/trunk/./
目前checkoutout的svn版本为revision83
3.2 拷贝SDK,firmware文件到相应目录
$mkdir-p~/iPhone/toolchain/files/firmware $mviphone_sdk_3.1.2_with_xcode_3.1.4__leopard__9m2809.dmg~/iPhone/toolchain/files/ $mviPhone1,2_3.1.2_7D11_Restore.ipsw~/iPhone/toolchain/files/firmware/
4.执行toolchain.sh
4.1 sudo./toolchain.shheaders
4.2 sudo./toolchain.shfirmware
由于GFW的原因,这一步可能不成功。如果失败了,就手工修改toolchain.sh,直接添加解密firmware的key
修改toolchain.sh如下:
注视掉以下内容:
if[-z"$DECRYPTION_KEY_SYSTEM"];then #echo"Weneedthedecryptionkeyfor`basename$FW_RESTORE_SYSTEMDISK`." #echo"I'mgoingtotrytofetchitfrom$IPHONEWIKI_KEY_URL...." # #IPHONEWIKI_KEY_URL=$(wget--quiet-O-$IPHONEWIKI_KEY_URL|awk' #BEGIN{IGNORECASE=1;} #/name="'${DEVICE}'/{found_phone=1;} #/.*'${TOOLCHAIN_VERSION}'.*/&&found_phone{found_firmware=1;} #/.*href=../../.*/&&found_firmware{while(sub(/href=|"/,"",$3));;print$3;exit;} #') # #DECRYPTION_KEY_SYSTEM=`wget--quiet-O-"http://#www.theiphonewiki.com"$IPHONEWIKI_KEY_URL|awk' #BEGIN{IGNORECASE=1;} #/.*VFDecrypt.*/{print$3;} #'` DECRYPTION_KEY_SYSTEM="a8a886d56011d2d98b190d0a498f6fcac719467047639cd601fd53a4a1d93c24e1b2ddc6" if[!"$DECRYPTION_KEY_SYSTEM"];then error"Sorry,nodecryptionkeyforsystempartitionfound!" exit1 fi echo"Ifoundit!" fi message_status"Mounting${FW_RESTORE_SYSTEMDISK}..." mount_dmg"${TMP_DIR}/${FW_RESTORE_SYSTEMDISK}""${MNT_DIR}""${DECRYPTION_KEY_SYSTEM}"
别忘了添加DECRYPTION_KEY_SYSTEM=…这一行
4.3sudo./toolchain.shdarwin_sources
4.4sudo./toolchain.shbuild
在这一步会出错,我遇到两个文件需要修改:
/home/jack/iPhone/toolchain/toolchain/src/cctools/ld64/src/MachOWriterExecutable.hpp:2222:error:‘sprintf’wasnotdeclaredinthisscope /home/jack/iPhone/toolchain/toolchain/src/cctools/ld64/src/Options.cpp:3160:error:‘fprintf’wasnotdeclaredinthisscope
查看~/iPhone/toolchain/toolchain/bld/cctools-iphone/make.log文件,找到编译出错的文件,添加下面两行:
#include
#include
然后再次执行sudo./toolchain.shbuild,注意在提示是否checkout时,选择"n",patch也选择"n"
如果出现”Itseemslikethetoolchainbuilt!”,说明toolchainbuild成功。
5.测试toolchain
5.1设置PATH、
在~/.bashrc中加入:
PATH=~/iphone/toolchain/toolchain/pre/bin:$PATH
5.2编译HelloToolchain
cd~/iPhone/toolchain/app/HelloToolch
执行IP=192.168.1.3makedeploy,其中IP是iPhone手机的IP地址,前提是已经越狱,并且通过ssh能够进行访问
在手机上可以看到HelloToolchain的应用,点击执行后在手机上显示出“HelloToolchain”
如果编译出错,进行如下处理:
mv~/iPhone/toolchain/toolchain/sys/System~/iPhone/toolchain/toolchain/sys/System2mv~/iPhone/toolchain/toolchain/sys/usr/lib~/iPhone/toolchain/toolchain/sys/usr/lib2cp~/iPhone/toolchain/sdks/iPhoneOS3.1.2.sdk/System~/iPhone/toolchain/toolchain/sys/cp~/iPhone/toolchain/sdks/iPhoneOS3.1.2.sdk/usr/lib~/iPhone/toolchain/toolchain/sys/usr/
6.参考
1. installldid
You'llneedldidtosignyourcode,youcangetitontheiPhonebydoing: $sudoapt-getinstallldid Here'showtogetitonLinux/OXS: First,downloadfromsaurik'swiththis: $wgethttp://www.linuxidc.com/system/systemfiles/2011/03/ldid-1.0.610.tgz Now,Unzipit: $tar-zxfldid-1.0.610.tgz Movetotheresultfolder: $cdldid-1.0.610 Compileit: $g++-I.-outil/ldid{,.cpp}-xcutil/{lookup2,sha1}.c exportCODESIGN_ALLOCATE=.../toolchain/pre/bin/arm-apple-darwin9-codesign_allocate;ldid-Syourlib
原文链接:https://www.77isp.com/post/6140.html
=========================================
https://www.77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2023-01-07
网站技术 2022-11-26
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
小游客游戏攻略网游戏攻略网 2024年07月26日
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
扫码二维码
获取最新动态