2011年7月28日 星期四

cygwin 開發平台(windows版 iPhone SDK)

iPhone開發的介紹之前就想寫了,只是最近站長又跑回去玩機器人,所以iPhone文章的撰寫就有一點小偷懶,不過今天還是找了個時間把他完成。

若您夠細心且對iPhone上開發程式有興趣的朋友可能都已經發現到,在本站的檔案下載區早就已提供了iPhone的完整開發環境cygwin,若您一直沒注意到也沒關係,現在我就帶您認識一下cygwin及在cygwin的環境下如何編譯及開發iPhone的原生程式。

對一般人來說想開發iPhone的程式首先得克服的第一關就是 iPhone ToolChain的編譯,甚麼是iPhone的ToolChain?簡單的來說就是讓您在Linux或osx的系統下擁有編譯及開發iPhone原生程式的環境,詳細的資訊您可以參iPhone-dev的官方資訊。

目前iPhone ToolChain支援的環境有Linux及osx,若要在Windows下開發則必須透過我們今天的主角cygwin來模擬Windows的環境了(當然您也可以選擇在Windows上安裝vmware或virtualbox來架設Linux的系統),為何要選擇 cygwin做為我們開發iPhone的平台呢?除了站長本身習慣使用Windows之外,最重要的是cygwin簡單而且不需要設定與安裝,這點可以讓所有人都能在一個相同的環境之下來學習iPhone的開發,工欲善其事必先利其器,若大家的使用環境都可能因安裝或設定的不同而有所差異,我想相對的遇上的狀況與困難也會增加不少,甚至有可能在還沒接觸到iPhone程式的撰寫之前就直接陣亡,這樣就太可惜了,因為iPhone程式的開發並非想像中那樣的困難。

早期站長為了嘗試編譯出正確的iPhone ToolChain吃了不少苦頭,無論是安裝Linux系統,或是使用cygwin測試,甚至是差點買了一台iMac,都是希望能趕快進入iPhone開發的世界,可惜,所有的努力仍告失敗,所幸,在某一個因緣際會下站長取得了成功編譯iPhone ToolChain的cygwin版本,這是一個相當重要的開始,這也是我能寫這篇文章的主要原因。

好了,現在讓我們趕快進入主題吧,首先您必須從本站的軟體區下載專用的cygwin版本



然後進入ShareMe的檔案下載區下載iphone-sdk-cygwin-3.0_iphonetw.rar檔案(您必須先註冊為ShareMe的會員)。

檔案不小,有159MB,請耐心下載,下載完成後請直接將檔案進行解壓縮即可,建議預設路徑為 d:\ ,若您要放在任何地方也沒關係。

解壓後您會在d:的根目下找到 cygwin的資料夾,而在進入cygwin之前,首先我們先要設定一下環境變數,請用文書處理軟體打開d:\cygwin\etc\ 下的profile檔案並尋找

PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/opt/iphone/bin:$PATH
export PATH

並加入紅色字的字串,然後直接執行 d:\cygwin資料夾下面的Cygwin.bat 檔案就可以進入cygwin的開發環境。

接下來我們會使用到一些簡單的Linux指令,若有不熟悉的請利用Google查詢,這裡我就不多加說明。



若您在cygwin的畫面中看到hello的資料夾,那恭喜您,歡迎進入iPhone創作的世界,對於任何的程式語言來說,不能免俗的我們也來寫我們在iPhone上的第一支程式 helloworld!



我們趕快切換到 hello 的目錄,此時您會發現在hello的資料夾有目前一共有八支檔案,關於這八支檔案的功能及用途我陸續會在後面的專欄文章內介紹,而這裡看到的檔案清單對照到您在Windows檔案總管內看到的目錄及檔案是相同的,如

/opt/iphone/hello 則等於 D:\cygwin\opt\iphone\hello

另外由於iPhone的程式是屬於描述式的語言,因此我們直接以文字處理器(記事本notepad或是NotePad++)來進行程式碼的撰寫即可,現在我們打開 HelloApplication.m 這支檔案如下圖:


您可以將上述的文字修改為任何您想要的,這裡將Hello world 改為 My First iPhone Apps,然後存檔後再回到cygwin的操作畫面。

首先先清除之前產生的暫存檔,請在指令列下

make clean

然後我們開始進行編譯並產生iPhone可使用的原生軟體的格式

make


若編譯正確則會不會產生任何的錯誤訊息,而過程的畫面會同上圖。

恭喜您,您完成了您iPhone上的第一支原生程式囉,現在只要將您的程式上傳至iPhone就可以了。

剛剛提到hello的資料夾下有八支檔案,這其中有的是原始碼,有的是編譯後產生的連結與執行檔,若您不希望將您的原始碼給人家看到,那麼您就必須挑出程式『必要』的檔案即可。

我們先建立一個名為 hello.app 的資料夾並將 Hello及Info.plist上傳到您iPhone的Application目錄。

上傳後記得修改 hello.app 的檔案及資料夾權限,左下角的那個套用的勾一定要打開喔。

接下來將iPhone重新開機(或是利用SummberBoard內的Restart SpringBorard功能),您就能在桌面上看到您剛上傳的 hello 程式囉,因為我們並未指定軟體的圖示,所以您看到的暫時是一個問號,趕快給他點下去吧。


Perfect!雖然目前只能有上下點選的功能,不過這可是道道地地的iPhone原生程式喔,有沒有那麼一點感動的Feel呢?若真有心從事iPhone軟體的開發,那後面還有好長的一段路要走,對站長來說,同樣也仍在學習,就讓我們一起加油、努力吧!

沒有留言: