歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Ubuntu 10.04上搭建iPhone開發環境

1. 准備Ubuntu環境

Ubuntu 10.04

sudo apt-get install git-core libxar-dev bison flex patch openssl libbz2-dev libssl-dev autoconf

sudo apt-get install build-essential gnustep gobjc gnustep-make libgnustep-base-dev gnustep-devel uuid

gcc, g++等編譯器默認已經安裝

sudo apt-get install g++

Ubuntu 10.04 amd64:

在64位系統上,apt-get找不到xar,就從網站上下載xar安裝,要先安裝依賴文件libxar1, 再安裝xar

http://packages.ubuntu.com/hardy/xar

2.准備SDK和iPhone Fireware文件

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 checkout iphonedevonlinux源代碼

$ mkdir -p ~/iPhone/toolchain 

$ cd ~/iPhone/toolchain
$ svn checkout http://iphonedevonlinux.googlecode.com/svn/trunk/     ./

目前checkout out的svn版本為revision 83

3.2 拷貝SDK,firmware文件到相應目錄

$ mkdir -p ~/iPhone/toolchain/files/firmware
$ mv  iphone_sdk_3.1.2_with_xcode_3.1.4__leopard__9m2809.dmg   ~/iPhone/toolchain/files/
$ mv  iPhone1,2_3.1.2_7D11_Restore.ipsw  ~/iPhone/toolchain/files/firmware/

4. 執行toolchain.sh

4.1  sudo ./toolchain.sh headers

4.2 sudo ./toolchain.sh firmware

由於GFW的原因,這一步可能不成功。如果失敗了,就手工修改toolchain.sh,直接添加解密firmware的key

修改toolchain.sh如下:

注視掉以下內容:

    if [ -z "$DECRYPTION_KEY_SYSTEM" ] ; then
#        echo "We need the decryption key for `basename $FW_RESTORE_SYSTEMDISK`."
#        echo "I'm going to try to fetch it from $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, no decryption key for system partition found!"
            exit 1
        fi
        echo "I found it!"
    fi

    message_status "Mounting ${FW_RESTORE_SYSTEMDISK}..."
    mount_dmg "${TMP_DIR}/${FW_RESTORE_SYSTEMDISK}" "${MNT_DIR}" "${DECRYPTION_KEY_SYSTEM}"

別忘了添加DECRYPTION_KEY_SYSTEM=...這一行

4.3 sudo ./toolchain.sh darwin_sources

Copyright © Linux教程網 All Rights Reserved