首页 运维 正文
Ubuntu10.04上如何搭建iPhone开发环境?

 2022-10-23    344  

如何在Ubuntu10.04上搭建iPhone开发环境呢?下文给出了详细的描述,具体内容如下所述。

1.准备Ubuntu环境

Ubuntu10.04上如何搭建iPhone开发环境?

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/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。