您的位置:首页 > 运维架构

iPhone 真机测试(调试)教程-伪造证书-免iPhone developer付款

2011-05-30 17:51 645 查看
---图片:


图片:


最近小弟開始在研究 iPhone 的開發,無奈找到的資料都是舊的,也不知道怎麼放到 iPhone 上,應該很多人都跟我有同樣的困擾吧!經過幾天的研究總算寫出第一個 HelloWorld,而且可以不用付99元美金就可以放到實機上執行! 今天先和大家分享怎麼放到手機上,以及基本的 Xcode 使用:
我的環境如下:
IBMX60+iDeneb 10.5.5
iPhone 港版16G+FW2.2+越獄
iPhone SDK 2.2 final
MobileInstallation 已替換(這很重要,不然沒法放到 IP 上,可以參考 weiphone 的這個帖子:http://www.weiphone.com/thread-206698-1-1.html)
注意: SDK 版本最好和 IP 版本一致!

好啦,同學們,課程開始啦!

1. 產生證書
由於 XCode 後面的版本都要求應用程式必須經過簽署,也因此你必須要
多花99美元加入 Developer Program (真是黑呀),反正我又不放到 App Store 賣錢,乾脆自己簽個證書來用不就好了

打開 Key Access 這個工具程式(在應用程式->工具程式內),並建立一個 "iPhone Developer" 名稱的證書(這個名稱不要改,否則你得在專案內改變)







類型選擇"編碼簽名"



輸入憑證資訊







最後選擇存放在"登入"內(不是 "系统",因为后面的xCode的破解是需要 “登陆” 才行)



這樣就大功告成了,你已經省下$99了!

2. 打開 XCode 建立 View Based Application





2. 專案建立好了後,打開 Project Setting,並在 User-Defined Settings 輸入:
PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO



3. 打開 Info.plist,這個檔案主要存放應用程式的相關描述,按右鍵 Add Row,新增 SignerIdentity = "Apple iPhone OS Application Signing" (要一樣的,亂輸好像不行)

接着下来就破解 xCode

关闭Xcode,打开你的命令行终端,复制粘贴下面的代码:
#!/bin/bash

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

执行完后再复制粘贴下面的代码到命令行终端:(需要internet网络连接)
mkdir /Developer/iphoneentitlements30

cd /Developer/iphoneentitlements30

curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt

mv gen_entitlements.txt gen_entitlements.py

chmod 777 gen_entitlements.py

执行完脚本后修改”/Developer/Platforms/iPhoneOS.platform/Info.plist”文件,做如下修改:
新增如下两项:

PROVISIONING_PROFILE_ALLOWED = NO

PROVISIONING_PROFILE_REQUIRED = NO

再用文本编辑器打开”/Developer/Platforms/iPhoneOS.platform/Info.plist”文件,将所有“XCiPhoneOSCodeSignContext”替换为“XCCodeSignContext”,(非常重要,不进行此步骤会导致打开项目文件Xcode会崩溃报错退出)保存退出。

打开Xcode,打开你的项目,Project>>Edit Project Setting,选择“Build”页面,Configurations和Show都选择All,找到Code Signing Identity项,删除其子项,并将“Code Signing Identity”赋值为“iPhone Developer”(其实是个选项)。

然后找到你项目的xxx-Info.plist文件,添加“SignerIdentity”项,其值为“Apple iPhone OS Application Signing”.保存。

将iPhone接入电脑,在Xcode的Window>>Organizer中会侦测到你的iPhone.查看iPhone和你的 Xcode识别正常后退出Organizer,选择编译环境为“iPhone Device-3.1.2|Release”,点击"Build and Go",期间会出现让我们选择签名证书,点选“允许”后,祈祷你的iPhone屏幕亮起吧。

你的程序会自动下载到你的iPhone中。点触运行无任何错误提示。

PS:

有几个小问题,说一下,以免后来者走弯路。

1. 如果你把Xcode不是装在系统盘,比如我是装在另外一个分区,则相应的命令为:cd /Volumes/分区卷标/你装Xcode的文件夹/Platforms/iPhoneOS.platform/Developer/Library /Xcode/Plug-ins/iPhoneOS\Build\ System\ Support.xcplugin/Contents/MacOS/ 其他好像基本不用改,不过我是自己在终端里面一条条敲,不是复制粘贴,直接用tab补全也挺快

2.如果你之前用过别的方法,并新建了证书,一定要在这次操作前把以前的证书删掉,(在/应用程序/key access或者中文叫钥匙串访问),而且最好是注销后再删,不然可能删不了,我就是因为没删,后面出了好多问。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: