Click here to Close
打印

[APP开发] 我整理和翻译的一些iPhone第三方软件开发的资料

本主题由 Peter 于 2007-10-29 14:25 移动

我整理和翻译的一些iPhone第三方软件开发的资料

1. 硬件准备工作:
    I. iPhone 1台(准备好USB连接线和Dock)
    II. Intel Mac 1台 或者安装了Mac OS X 10.4.10的PC 1台
    III. 无线路由器或无线AP一台

2. 软件准备工作:
参考:http://ellkro.jot.com/iPhoneHacking
    I. Kroo's Mac OS X Toolchain
        http://conceitedsoftware.com/iphone/iPhoneToolchainv04.dmg
        http://wickedpsyched.com/iphone/beta/iPhoneToolchainv04.dmg
        http://iphone.riverdark.net/iPhoneToolchainv04.dmg
        http://kaisakura.org/iPhoneToolchainv04.dmg
        http://homepage.mac.com/gregmeach/iPhone/iPhoneToolchainv04.dmg
    II. heavenly dmg(需要自己制作)
    III. phonedmg
        http://ellkro.jot.com/phonedmg12.tar.gz
    IV. Software Restore Image
        http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-3538.20070629.B7vXa/iPhone1,1_1.0_1A543a_Restore.ipsw
    V. Macports
        http://svn.macports.org/repository/macports/downloads/MacPorts-1.5.0/MacPorts-1.5.0-10.4.dmg
    VI. Dropbear
        http://iphone.port21.com/Code/iPhone_SSH_Install_for_Mac.zip

3. 安装Toolchain
    I. 下载 vfdecrypt 并编译
    II. 获取iPhone固件文件
        (1)修改下载的Software Restore Image,修改扩展名为zip并解压缩获得"694-5259-38.dmg" 和 "694-5262-39.dmg","694-5262-39.dmg"是加密映像,包含了iPhone的系统文件,解密的密钥存储在"694-5259-38.dmg"中,执行以下命令获取密钥(72位16进制字符串):
          strings 694-5259-38.dmg| grep "^[0-9a-fA-F]*$" | awk '{ if (length($1) == 72) print; }'
        (2)把编译好的vfdecrypt复制到Software Restore Image的解压目录下,执行以下命令获得heavenly.dmg(替换<hex key>为刚才获得的72位16进制字符串的密钥)
          vfdecrypt -i 694-5262-39.dmg -k <hex key> -o heavenly.dmg
        (3)打开heavenly.dmg并且复制里面的所有内容至/Developer/SDKs/iPhone/heavenly/(注意,只有root帐户才有/Developer/SDKs/的写权限),执行以下命令
          sudo su
          <enter password>
          mkdir /Developer/SDKs/iPhone/heavenly
          cp -R /Volumes/Heavenly1A543a.UserBundle/* /Developer/SDKs/iPhone/heavenly/
          cp /Developer/SDKs/iPhone/lib/libarmfp.dylib /Developer/SDKs/iPhone/heavenly/usr/lib
          ./configure --with-heavenly=/Developer/SDKs/iPhone/heavenly
    III. 把编译器添加到路径
        编辑~/.bash_profile并且把/Developer/SDKs/iPhone/bin/添加进去,如果你还没有~/.bash_profile,创建文件并保证内容如下:
          PATH="/Developer/SDKs/iPhone/bin/:\\${PATH}"
          export PATH

4. 编译Helloworld:
    I. 建立与iPhone文件系统的联系
      希望使用jailbreak和iphoneinterface通信的请参考:
      http://ellkro.jot.com/WikiHome/HowToBuildObjCApps
      http://www.hacktheiphone.com/iphone_first_ten_steps_to_modding.html
      我在Mac没能用jailbreak和iPhoneInterface访问iPhone的文件系统,并且觉得此方法非常不方便。其实已经有很多工具可以方便地操作iPhone上的文件,Mac推荐使用iFuntastic(有GUI,同时还可以定制一些iPhone功能)
    II. 安装SSH(可直接用sshkit完成以下所有操作)
        参考:http://ellkro.jot.com/WikiHome/InstallingDropbearOSX
        (1)用iPhoneInterface或者iFuntastic在iPhone上建立 /etc/dropbear目录
        (2)复制dropbear_rsa_host_key 和 dropbear_dss_host_key两个文件到/etc/dropbear
        (3)进入iPhone的/bin目录
        (4)复制chmod 和 sh两个文件到/bin
        (5)进入iPhone的/usr/bin目录
        (6)复制chmod, bash, ls, dropbear到/usr/bin
        (7)进入iPhone的/usr/sbin目录
        (8)复制update到/usr/sbin
        (9)进入iPhone的/System/Library/LaunchDaemons目录
        (10)复制com.apple.update.plist 和 au.asn.ucc.matt.dropbear.plist两个文件到/System/Library/LaunchDaemons
      到此为止,SSH就安装好了,重起iPhone两次即可通过SSH访问iPhone,执行以下命令登陆到iPhone([your iphone ip]替换成iPhone的IP)
          ssh [email=root@[your]root@[your[/email] iphone ip]
          mv com.apple.update.plist.orig com.apple.update.plist
          mv update.orig update
        (11)进入iPhone的/System/Library/LaunchDaemons/
        (12)复制com.apple.update.plist到/System/Library/LaunchDaemons/
        (13)进入iPhone的/usr/sbin
        (14)复制update到/usr/sbin
    III. 编译和运行Helloworld
        (1)进入Helloworld所在目录,执行以下命令
          make
        (2)在iPhone上创建/Applications/Hello.app
        (3)复制Hello 和 Info.plist到/Applications/Hello.app
        (4)同时也可以做一个60*60名叫icon.png的文件作为程序图标放在/Applications/Hello.app
        (5)这时iPhone桌面上就会出现你的图标,单击即可执行(如果运行不成功,检查你的iPhone是否安装好了openSSH和BSD subsystem)

[ 本帖最后由 johnnyrico 于 2007-10-31 10:32 编辑 ]
本帖最近评分记录
  • fantasyplay 经验 +20 不错,这对很多人有大帮助啊 2007-10-29 22:34
  • fantasyplay 人气 +30 不错,这对很多人有大帮助啊 2007-10-29 22:34
  • fantasyplay we券 +20 不错,这对很多人有大帮助啊 2007-10-29 22:34
等着下文呢~~~~~~~~~

TOP

另一个Helloworld代码与执行程序

需要用到附件中的UITextTraitsClientProtocol.h和DisplayOrder.plist

附件

Helloworld.rar (27.2 KB)

2007-10-29 13:42, 下载次数: 109

Helloworld需要的文件.rar (1.31 KB)

2007-10-29 13:42, 下载次数: 101

不错。
lz继续!
把开发环境写清楚
加油 雖然我還沒愛鳳!
好 谢谢楼主
谢谢搂住~~~~~~
有图片,更好弄啊
希望lz上图片

TOP

不懂不懂不懂不懂不懂不懂
深公网安备案证字第 4403101901155 号