装了Xcode3.2.3,据说不能破解,也就是不花那$99交保护费的话不能在真机上使唤,只能模拟器上YY一下。
只好又装回Xcode3.2.1,操作方法如下:
1. 自造一登录证书。
<1> 打开“钥匙串访问”程序,创建一个叫“iPhone Developer“的证书。名称叫其它也行,只要与Xcode中的设定一致即可。
<2> 创建时勾上”覆盖预设值“。
<3> 在设置延伸密钥用法那两步,分别只勾选”签名“和”编码签名“即可,其它的不需要。
<4> 存放位置选择”登录“。
<5> 其它选项基本上默认就行。
2. Xcode破解
<1> 关闭Xcode,打开命令终端。
<2> 执行以下命令:
注意路径,由于我装了两个Xcode,这个3.2.1装就在了~/Developer下。
cd ~/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/ dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255 printf “\x8f\x2a\x00\x00″ >> working dd if=iPhoneOS\ Build\ System\ Support of=working bs=1 skip=127504 seek=127504 /bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original /bin/mv working iPhoneOS\ Build\ System\ Support chmod a+x iPhoneOS\ Build\ System\ Support |
<3> 打开“~/Developer/Platforms/iPhoneOS.platform/Info.plist”文件,将所有“XCiPhoneOSCodeSignContext”替换为“XCCodeSignContext”,保存退出。
<4> 在Xcode中打开项目,Project>>Edit Project Setting,选择“Build”页面,Configurations和Show都选择All,找到Code Signing Identity项,删除其子项,并将“Code Signing Identity”赋值为“iPhone Developer”(其实是个选项)。然后增加两个User-Defined Settings:
PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO
<5> 打开项目中的xxx-Info.plist文件,添加“SignerIdentity”项,其值为“Apple iPhone OS Application Signing”,保存。
<6> Xcode中打开Window>>Organizer,里面正确识别到iPhone后退出。
<7> Xcode中选择编译环境为“iPhone Device-3.1.2|Release”,点击"Build and Go",期间会出现让我们选择签名证书,点“允许”。(不要点总是允许)
注:
<1> 步骤6不必需。编译出app后可以自己打包成ipa然后同步到iPhone。
<2> 步骤3之前很多教程都提到要下载个,其实是个python脚本,改名为.py后执行。貌似这个也不必需。
<3> PROVISIONING_PROFILE_ALLOWED和PROVISIONING_PROFILE_REQUIRED这两项,有的教程说是写到/Developer/Platforms/iPhoneOS.platform/Info.plist中,但没说具体怎么写,我表示疑惑,只好选择在Build里面设置了。
3. app打包成ipa
<1> 创建一文件夹,比如working,再在里面创建一文件夹Payload。
<2> 把编译生成的app文件放到Payload下。
<3> 把图标文件比如icon.png放到working下,改名为iTunesArtwork。
<4> 保证Info.plist文件有SignerIdentity项。如果是按上面步骤5做了,那编译出的app中的Info.plist肯定会有这一项的。
<5> 将iTunesArtwork和Payload打包到一个zip文件中,然后把.zip改为.ipa即可。
阅读(3009) | 评论(0) | 转发(0) |