RSS

无iDP上传自开发应用到iPhone简单说明

Labels: ,
如果你不是iPhone开发者,但是恰好有mac和iphone在身边,又恰好是个喜欢“hello world”的IT民工,那你一定会想在自己的iPhone上hello world一下。由于你只是玩票,所以肯定不会去弄iPhone Development Program ,官方文档自然没有任何供你参考的信息,目前网络上介绍的各种sdk版本的方法大多都已经失效或是混乱,所以发一个简单的说明:

本文测试环境:Snow leopard 10.6.3 + Xcode 3.2.2 + iPhone 3G(3.1.2固件)

前提条件:在Xcode中已经有可以在模拟器上正常运行的Hello World程序 + iPhone已经越狱 + 本身是个没进行过iPhone开发的小白

方案思路:build一个不需要签名的应用,在mac上用ldid伪造签名,通过SSH上传到iPhone上

操作步骤:
  1. sudo vi /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS[SDK版本].sdk/SDKSettings.plist , 把CODE_SIGNING_REQUIRED对应的值设置为NO。 - 这是告诉Xcode使用这个SDK build时不用必须签名应用;
  2. 在Xcode中修改应用的"info"->"build" -> "Release" -> "Code Signing Identity",设置为"Don't Code Sign",选择构建目标为"iPhone Device - [SDK版本] | Release",build应该提示无错误。(第一步的配置生效需要重启Xcode) - 此步构建了一个没有签名的app,路径为[项目位置]/build/Release-iphoneos/HelloWorld.app
  3. 安装ldid
    wget http://svn.telesphoreo.org/trunk/data/ldid/ldid-1.0.610.tgz
    tar -zxf ldid-1.0.610.tgz
    cd ldid-1.0.610
    g++ -I . -o util/ldid{,.cpp} -x c util/{lookup2,sha1}.c
    util/ldid 下面就是我们需要用来伪造签名的ldid程序了
  4. 给程序签名
    ldid -S [项目位置]/build/Release-iphoneos/HelloWorld.app/HelloWorld (注意这里要写到.app下面的执行文件)
    SSH上传到iPhone的/Applications 下面,respring一下就可以看到并使用HelloWorld应用了(SSH应该在大家越狱时都有装,如果没有,到Cydia或Rock中都能装上,不会respring就重启iPhone)

资料参考:


0 Responses to "无iDP上传自开发应用到iPhone简单说明"

Post a Comment (友情提示:添加评论需要翻墙)