2009年3月30日

[黑暗]讓你寫的程式在 iphone 上執行

自從去年購入 iphone 之後,為了徹底的研究他,所以破解、升級、裝 cydia 樣樣來。

當然,少不了的,是在這台超棒機器上面開發自己的軟體囉。

有圖有真相,先 post 一張執行的結果 (背景是用模擬器跑的)



沒錯,就是超級好玩的 globme 現在有了 iphone 的版本~!!

但是呢,這是用一種黑暗的方法達成的,一般人還是照教科書的做法比較好。

--- 黑暗方法分隔線 ---

沒錯,如果您想在 iphone 上面開發自己的程式,請先安裝 xCode,然後去蘋果網站下載 SDK,最新的版本 2.2.1 版大概有 1.7G,安裝後高達 4.5G,所以如果硬碟不夠(我以前的窘境),請先升級硬碟和作業系統到 Leopard 10.5.6。

重點來了,當你興高采烈的開發完程式之後,你會發現只能在模擬器上跑爽的,沒辦法在您買的 iphone 上面看到執行結果。這是因為蘋果希望你購買 iphone 的開發者憑證。這個憑證要收費 USD 99 元。

既然叫黑暗,那當然我沒有花錢,所以如果大家照我的方法,導致的任何後果可是要自負的。破解的方法有很多招,不過開頭都是一樣的

1.先去安裝 QuickPWN or pwntool 讓您的 iphone 可以有 cydia 安裝其他任何的第三方軟體。
2.我安裝了 BossPrefs ,他可以讓你看到 iphone 的 ip, 以及 enable SSH。
3.在 cydia 上安裝 OpenSSH,讓您的 iphone 可以被連入。

接下來是 MAC 電腦端:

1.威鋒網有教您如何自行製作憑證。這也許是一個可行的方式,但是我試了之後是失敗的結果。

or

2.打開 Xcode,到您的專案下,先確保您選擇的是正確的版本,也就是手機和開發環境是一樣的版本(我是 2.2.1)


3. 進入 project setting,到 Build 裡增加三個使用者自訂的設定:
CODE_SIGNING_REQUIRED = NO
PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO


4.重新打開 xCode 然後選 Build。之後去找到 app 存放的位置。




5. 然後你可以在自己的電腦裡找到這個 app 檔案,當然,mac 裡面是顯示成無法執行的樣子



6. 這個時候請啟動您的遠端連線工具,我個人是用 CyberDuck 這個免費軟體,利用 SFTP 連到 iphone 裡面,請去找到您的 /private/var 這個目錄



7.裡面可以看到一個 Applications.xxxxxx <---- xxxxxx 每個人的都不一樣,這裡面放的 app 就是您的 iphone 可以執行的程式。


8. 把您開發的專案執行包傳到這個目錄下,然後去找目錄裡的 info.plist 這個檔案,用文字編輯器打開,去尋找

Signerldentity

Apple iPhone OS Application Signing

這兩組關鍵字,然後刪除、存檔。



9.把 iphone 重新開機。到 cydia 安裝一個軟體叫做 respring,這個軟體可以修復 iphone 桌面上沒有出現的 icon。

理論上這個時候您自行開發的軟體就可以在自己的 iphone 上面執行了。再強調一次,這是黑暗的方法,正常來說請按照教科書的解法來進行,才是王道喔。
祝大家寫 iphone 程式都順利。

1 則留言:

Makoto 提到...

補充一下,我寫的這個 globme for iphone 是一個瀏覽器,但是他沒有 iphone safari 那個輸入網址列,也沒有網路工具列,所以是一個純 globme 瀏覽器,具備放大縮小的一切 iphone 特色與功能。下一版我打算開發 globme iphone widget。

再見了 Evernote.

大概是去年底開始,我常常用的一個雲筆記本軟體 Evernote 就限制了我的新增記事,後來才發現他限制我們免費仔的記事數字停在了 50 篇。