iPhone无99刀开发 ( zt)

来源:互联网 发布:团队网络一起赚钱 编辑:程序博客网 时间:2024/05/12 15:50

了把 HelloWorld的测试程序放在touch上跑起来,已经快搞了一个星期了,今天终于成功了,要泪奔了,哭泣, 查了无数的资料,网上这方面的资料非常少,感觉现在搞iphone开发的好像都直接花99刀搞定了,没人关注怎样在jailbreak的iphone上来运行测试app了,shitou就等有拿得出手的app了再花那99刀吧

 

下面是怎样在jailbreak的iphone上运行HelloWorld的完整过程:

 

环境:

  • 我这里是touch 2.2.1, jailbreak, iphone一样
  • Max OS 10.5.x, 官方SDK,  Xcode 3.1.2
  • 如果你已经jailbreak了,我想你肯定已经替换了MobileInstallation了,jailbreak的iphone没有替换MobileInstallation是没有任何意义的,你还是任何破解程序都运行不了,如果真的没有替换,就自己先搜下MobileInstallation吧,这里不说了。


说明:

  • 下面的步骤有的地方操作可能有重复,shitou还没有一一测试哪些是不必要操作的,不过你还是老老实实的按照下面的步骤执行吧,不然运行不起来就痛苦了。
  • 需要修改的文件,修改前切换成root用户并先做个备份,cp file fle.bak 就行了。

 

 

开始:

修改文件/Developer/Platforms/iPhoneOS.platform/Info.plist, 共两处需要修要,如下所示:

 

                <key>ARCHS</key>
                <string>armv6</string>
                <key>CODE_SIGN_CONTEXT_CLASS</key>
                <string>XCiPhoneOSCodeSignContext</string>
                <key>COMPRESS_PNG_FILES</key>
                <string>YES</string>
                <key>DEBUG_INFORMATION_FORMAT</key>
                <string>dwarf-with-dsym</string>
                <key>EMBEDDED_PROFILE_NAME</key>
                <string>embedded.mobileprovision</string>
                <key>INFOPLIST_OUTPUT_FORMAT</key>
                <string>binary</string>
                <key>NATIVE_ARCH</key>
                <string>armv6</string>
                <key>PLIST_FILE_OUTPUT_FORMAT</key>
                <string>binary</string>
                <key>PROVISIONING_PROFILE_ALLOWED</key>
                <string>NO</string>
                <key>PROVISIONING_PROFILE_REQUIRED</key>
                <string>NO</string>

                <key>SDKROOT</key>
                <string>iphoneos2.2.1</string>
                <key>STRINGS_FILE_OUTPUT_ENCODING</key>
                <string>binary</string>

 

                <key>CODE_SIGN_CONTEXT_CLASS</key>
                <string>XCiPhoneOSCodeSignContext</string>
                <key>DEBUG_INFORMATION_FORMAT</key>
                <string>dwarf-with-dsym</string>
                <key>EMBEDDED_PROFILE_NAME</key>
                <string>embedded.mobileprovision</string>
                <key>SDKROOT</key>
                <string>iphoneos2.2.1</string>
                <key>PROVISIONING_PROFILE_ALLOWED</key>
                <string>NO</string>
                <key>PROVISIONING_PROFILE_REQUIRED</key>
                <string>NO</string>

 

加粗部分为要加入的内容。保存。

 

修改另一个文件/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.1.sdk/SDKSettings.plist, 根据你当前的开发版本进入具体的版本号目录,修改该文件中所有*_REQUIRED定义的行,把对应的值,即下一行的值改成NO, 保存退出。

 

下面开始建立自己的授权key, 这个官方有具体的步骤怎样操作的,参考这里:摸我, 把第一部分 Obtaining a Signing Identity 看完就行了。 在建立的第一步给key命名时最好填iPhone Developer。

 

然后就可以打开Xcode了,建立一个新项目,创建一个简单的HelloWorld, 然后就是关键了:

选择Project -> Set Active SDK -> Device - 2.2.1

你还可以设置当前的开发模式(Project -> Set Active Build Configuration)是Debug还是Release, 两种不同的模式配置文件也是不一样的,这里选择的是Debug

 

在Group & Files下你的HelloWorld项目上点右键,点Get Info, 打开项目的配置文件,选择Build选单,

滚动到Code Signing部分, 点开Code Signing Identity,  设置成如下所示:

Any iPhone OS Device   值为 iPhone Developer

后面的iPhone Developer就是你刚创建的key的名称。

 

然后再滚动到最上面,选择show下拉选单, 选中User-Defined Setting

点击最下面的齿轮, 选择Add User-Defined Setting, 加入两组数据, 如下:

PROVISIONING_PROFILE_ALLOWED       NO

PROVISIONING_PROFILE_REQUIRED      NO

关闭当前配置窗口。

 

下面展开HelloWorld ->  Resources -> Info.plist

编辑Info.plist, 增加一项:

SignerIdentity   值为 Apple iPhone OS Application Signing

保存。

 

然后就可以build了, Build -> Build, 中间会提示你是否允许使用你刚创建的key, 当然允许了,此时Xcode窗口的最下面会报告Build的状态,如果出现红色的error的话, 说明你刚才的操作有问题,黄色的代表警告,可能会出现:

CodeSign warning: provisioning is not applicable for product type 'Application' in SDK 'Device - iPhone OS 2.2.1'; ignoring...

这个警告不用管它,只要出现Build succeeded就行了,

 

最后就是把HelloWorld.app放到iphone上了,这里你可以使用ssh的方法复制到iphone的/Applications下,不过这里使用这个方法并没有成功,即使使用ldid进行签证也不行,所以就放弃使用ssh这个方法了,你应该:

首先连接你的iphone或者touch, 然后在Xcode下, Window -> Organizer, 这时你的iphone或者touch会出现在窗口里,点击它, 下面的Applications中会显示你现在已安装的所有app, 点击+按钮,选择刚才已经编译成功的HelloWorld.app,在HelloWorld/build/Debug-iphoneos下边, 然后就传到你的iphone/touch上了,现在就可以在你iphone/touch上运行HelloWorld了,呵呵,大功告成, 下面就可以正式你的iphone开发了。

 

scp -r /directory/where/you/have/stuff/filename root@192.168.2.##:/directory/where/you/want/stuff/filename 

ssh 192.168.0.xx -l root

cd /Applications

ldid -s xxx.app

chmod 775 xxx.app

 

原创粉丝点击