跨平臺移動開發實戰(二)------IOS開發環境搭建

首先我想提一下既然是跨平臺的方案,還爲什麼要搭建各個平臺的開發環境。Phonegap+HTML5的方案不是搞出一個在任何平臺都能無需編譯就能運行的package,而是一種能讓Javascript與native相整合的方案,因此基於它做出的軟件包依然是具有各個平臺特性的package,只不過裏面大部分的業務邏輯都是基於Javascript來開發的,但不代表所有,所以需要在各個平臺的開發環境上來編譯調試和最後的打包部署,雖然phonegap也出了個build platform: https://build.phonegap.com/,但這個肯定是不夠用的。對於我這個只搞Java的人,搭建各個平臺的開發環境着實花了不少時間。

IOS的開發環境搭建是最搞人的,但對於有Mac本並且擁有IOS開發者帳號的朋友來說,可以略過這篇文章,我這裏談開發環境搭建是基於既沒有Mac本也沒有開發者帳號,Apple是一個把技術和產品搞得很封閉的公司,開發IOS不但對硬件軟件有嚴格要求,對其中的版本也是限制很嚴,這導致我們這些走開源技術路線的人很不習慣。但沒辦法,你只能被動地被Apple牽着鼻子走,沒有太多其他選擇。

好了,這篇文章的目的很簡單,就是需要一個開發環境(零成本)能開發和打包基於Phonegap的IOS應用。

具體說來,有四個任務:

  • Mac環境搭建
  • 在真機(iphone/ipad)上部署和調試
  • 調試Phonegap源碼
  • 調試Javascript

1)Mac環境搭建

我已在《在AMD的WIN7上搭建IOS開發環境(mac 10.6.8 + xcode 4.2) 》裏詳細記錄了整個搭建過程。試用了個把星期,基本上還是能滿足開發工作的需求,但如果需要很流暢的體驗,一是需要加裝內存,另外就是最好能搭在SSD上,不過這兩樣現在也不貴,1000元足矣。

2)在真機(iphone/ipad)上部署和調試

如果只用在模擬器上看看效果,那就不用考慮這一步。Apple的IOS開發者帳號是每年99美元,它除了能可以訪問各種文檔資源外,最重要一點就是開發者需要用它生成合法證書,並把應用部署到App store和真機上,當然,如果產品已開發完成並計劃投入市場的話,這個錢肯定是要花的,但對於那些還在門外試水的朋友來說,沒必要這麼快就被Apple套牢。我所需要就是能從xcode上直接在真機上部署和調試應用程序。

首先是要破解xcode。這個步驟有很多文章寫了詳細步驟,我也是照着這些步驟完成的,比較靠譜的是這篇文章:http://kqwd.blog.163.com/blog/static/4122344820117191351263/,這裏我需要強調的是做這些步驟之前請在VMWare上打個snapshot,避免搞壞了無法回頭,這也是在虛擬機上搞開發的最大好處。

然後就是要越獄iphone/ipad,這個我就更不用累訴了,相信擁有iphone/ipad的朋友都研究過如何越獄。但這裏我還沒探明清楚的是不是非得越獄才能調試或部署ipa,不過我試過在沒越獄的iphone上是不行的,但應該只要做到部署ipa到真機就可以了。

最後是xcode識別真機,直接在真機上調試應用。這一步把我卡了很長時間,一直在虛擬機的Mac無法識別ipad,在硬件設備表卻能看到ipad,開始我一直懷疑是虛擬機的問題,但虛擬機識別USB硬盤是沒問題的。結果原因很簡單,是itune的版本太低,升級到最新版本後就成功了。(從這裏也能感受到Apple的手腕,用各種手段讓你不得不更新它所有相關產品)。成功識別後,能在run或windows/Organizer裏看到連接上的device,這是就和在模擬器裏調試一樣了。

3)調試Phonegap源碼

能調試Phonegap源碼還是很必要的,一是可以學習一下整個流轉機理,二是便於調試自己寫的或加裝的plugin。

首先根據官方guide: Getting Started with iOS,搭建好項目結構。然後:

  1. 刪除“Cordova.framework”
  2. 把CordovaLib.xcodeproj從phonegap源碼包裏拖到xcode裏,拖放位置請看下圖:
  3. 選擇主項目(starteam-mobile-ios)的“Build Phases”,在“Link Binary With Libraries”下添加“Workspace”下的“libCordova.a”,如圖:
  4. 在“Target Dependencies”添加“CordovaLib”,如圖:
  5. 編輯“Build Settings”裏的“Other Linker Flags”,添加“-all_load -Obj-C”配置項
  6. 把Phonegap源碼包裏的“VERSION”文件拖到“Supporting Files”文件夾下:
  7. 主項目和CordovaLib.xcodeproj下的Architectures改爲:Standard (armv7),不然編譯時會報gcc相關的錯,如圖:
  8. 編譯整個項目,如果成功也就代表可以調試phonegap源碼了。

phonegap源碼還沒來得及看,主要是對objective-c不熟,不過發現一個學習IOS開發很不錯的視頻資源:iOS SDK基礎教程》,雖然是全英文,但用迅雷看能在線匹配到很多章節的字幕,配合很不錯的視頻演示,英語應該不是問題。

4)調試Javascript

在真機上出了Javascript錯誤是非常難調試的,這需要一系列工具來支持,我準備把它和其他移動平臺上javascript調試單獨作爲一個主題來詳細研究,這裏就暫時不多說了。

到此,IOS上Phonegap開發環境也就搭建完成,雖然是零成本,但耗了不少時間,有沒有必要大家自己斟酌,確實有興趣可以嘗試一下,但對於已下定決心搞IOS的朋友還是趕緊買Mac吧(我也正在努力地向老婆大人申請預算),嘗試這些只是爲了試水,讓自己更加堅定地邁入IOS的大門。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章