Xcode 3.1.4 证书破解+iphone 3G 3.1.2真机部署(对3.2.1同样有效)
证书伪造:
- 先按照 该教程 的步骤添加证书。注意,原教程选择的是“系统”证书,这里我们用“登录”证书,切记。
图片:
最近小弟開始在研究 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" 名稱的證書(這個名稱不要改,否則你得在專案內改變)
7uGw erJYaXaP.png');" src="http://images.weiphone.com/attachments/day_081213/20081213_10286b80d077b84931d87uGwerJYaXaP.png" border="0" alt="" width="700" />
類型選擇"編碼簽名"
輸入憑證資訊
最後選擇存放在"系統"內(不是 "登入",否則會找不到)
這樣就大功告成了,你已經省下$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" (要一樣的,亂輸好像不行)
4. 打開 MainWindow.xib 檔案,並雙擊 Window 這個圖標,我們可以看到 iPhone 內唯一的一個 Window
5. 加入我們自己的 View,在 Class Identity(切換到最右邊的 Tab) 輸入 MyView 按下回車鍵
6. 同樣的我們拉進一個 UILabel 和 UIButton,並調整一下 Label 的屬性,這邊 Autosizing 的調整還蠻容易懂的,大家可以試著調整看看就知道了
7. 畫面弄好了,但是還沒有把我們的 View 和 ViewController 建立連接,點選 HelloWorld View Controller 後可以在菜單內的 Tools->Connections Inspector 看到和 View Controller 連接的 Outlet(也就是類裡面的變量),連接的方法是把 outlet 內的view 拖拉到我們實際建立的 View
8. 接著我們在建立好的 View 新增一個 outlet(lbl) 和 action(clickMe),這樣我們才可以改變 Label 這個物件,並分別把 outlet 連接到 HelloWorld 這個實際的 Label,action 連接到 "點我" 這個按鈕,並選擇 Touch Down 的事件,稍後我們會用到這個事件來改變 Label
9. 連接關係都建立好了,我們要產生實體的類,XCode 會幫我們把必要的 code 產生,產生的方法是在 File->Write Class Files
10.接下來我們加上一些代碼,分別打開MyView.h(注意要在 MyView 後面輸入 UIView,Xcode 不會加上)和MyView.m並輸入下面代碼
值得一提的是你可以在寫的過程中按 CTRL+"<" 看到提示
11. 選擇要使用的設備,在此我們選擇 Device - iPhone OS 2.2,XCode 會幫我們簽署,按下"允許"(不能按"總是允許")就可以輸出到你的iPhone了(第一次跑可能會出現 Security policy error,再跑一次
就不會出現了)
12. 要刪除模擬器或實體機上的 Ap, 只要按住圖標不放就可以了
13. 來個實體和虛擬機的合照吧,點"按我"可以改變 Hello World 的顏色
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中。点触运行无任何错误提示。