2013年12月6日 星期五

開發iOS App前需要了解的事。

這裡不寫最細節的內容,因為這些東西在Apple Developer網站上,寫的絕對比我詳細,內容也保證比這裡豐富,既然這裡是blog而不是白皮書,我就以指引方向為前提來寫。

首先,若你想開發iOS App,那麼你就不要想「省錢」這件事,這只會搞得自己很麻煩而已。蘋果的世界裡,沒有什麼事是不麻煩的,尤其當你從一個「使用者」要變成「開發者」時,這點認知一定要有的。


需要什麼硬體?

你要開發之前,總要有開發環境,因此你需要一台可以跑Mac OS X的電腦。你可以買最便宜的Mac Mini,也可以買Macbook,這端看你的需求而定。不要去想用PC來裝Mac OS X這件事,效能既不好,還會有一堆的限制,工欲善其事,必先利其器,這點錢就別省了,既然都立誓要進入Apple的世界了,有一台Mac是很合理也很合邏輯的。

接下來,就是你需要一台可以測iOS的硬體了。你可以買iPad,然後在上面跑iPhone大小的App。這是省錢的方案,當然如果你會有需要用程式去抓3G的一些設定,就買3G+Wifi版的,如果沒有的話單純的Wifi版就可以應付多數情況了。

用模擬器來寫App的話嘛,個人是不建議,因為畢竟App是徒手要在上面滑來滑去的,手感手順很重要,若你這點錢也要省,單純只想用模擬器來寫,我個人覺得使用者經驗這部份沒有辦法做的太好。當然你能有一台iPhone和iPad,是最完美的,若沒有,至少要有一台iPad Wifi版。

順便一提的是,最好是買有Retina的iPad (也就是iPad 2及以前,並不建議),畢竟你若要做HD版的,一定要在上面跑過才可以最精確了解每一個pixel的表現是不是如你預期。

(幫你找了很多理由和藉口來買Mac和iOS裝置了吧!)


需要什麼軟體?

若你是第一次接觸Apple的開發,你應該還不知道Apple在「這個綁那個,那個又限制這個」是有多麻煩的事吧。首先,你的Mac上面灌了Mac OS X,不是這樣就了事了,版本是很關鍵的事。版本不對,後面什麼都不對了。

目前(2013/12月)最新的版本是Marvericks (10.9),你的Mac只要夠新(約4~5年左右的Mac),基本上就能安裝。這個版本會決定你的開發IDE Xcode可以裝到多新的版本。

Xcode是用來開發iOS App的IDE開發工具,他也有一個版本,你要安裝愈新的Xcode,才可以開發愈新的iOS版本App,而你要裝愈新版的Xcode,你本身的Mac OS X也要夠新才行。這就是我上面說的「這個綁那個,那個又限制這個」。寫到這裡,不知你頭腦打結了嗎?

舉個實例好了,如果你想要寫的是iOS 7的App,你就至少要將Xcode升到5.0以上的版本(安裝iOS 7 SDK),且你的Mac OS X至少要10.8.4以上版本才可安裝該版Xcode。

接下來就是,iOS本身也有一個版本。這個版本呢,也很重要,如果你的開發用iOS裝置想要保持在某個版本上(例如iOS 6),那麼請不要輕易的升級。
若你原本是採用Xcode 4.5在寫iOS 6的App,用了一台iPhone 5安裝了iOS 6,運作的很好,有一天你突然把你的iPhone升到iOS 7,不好意思,你的Xcode會跟你說你的iPhone裝的版本太新了,他不能支援,你就必需升Xcode,然後可能此時又發現Mac OS X又不支援,也要升級,就會出現一關卡一關的冏境了。

等你都升好了以後,發現你原本Xcode可以讓iOS 5的人安裝,現在新版Xcode升級後,最低變成只能開發在iOS 6.0以上執行。

你只不過是不小心升級了你開發用的iPhone的iOS版本,就會不小心出現大災難,身為Apple開發者,我相信你會很懷念以前傻傻的當使用者的時光。(而且那時你也罵了Apple說很機車,這時才發現,身為開發者才該罵吧!)


決定你的開發者Program

如果你都了解上述的卡關限制後,還打不倒你,你就可以開始進入開發者的世界了(其實後面麻煩的事更多)。

首先,請先到Apple Developer網站逛一逛,了解一下你未來的家(誤)。

https://developer.apple.com/



當你要成為Apple開發者,你要先了解你需要申請的是哪一種Program。
基本上目前分為三種Program:
  1. iOS Developer Program (含個人與組織)
  2. iOS Developer Enterprise Program (企業內部專用)
  3. iOS Developer University Program (大學教學目的)
https://developer.apple.com/programs/start/ios/

基本上上面這個網址就講的很清楚了,不過有人搞不懂「我是一個公司,到底要申請第一種還是第二種」。

第一和第二種簡單的區別是,第一種是要上架到App Store的,所有人都可以下載的到。而第二種主要用於大型企業,開發的App是不上架到App Store,而是放置在公司內部自行架設的伺服器上安裝使用。

如果我記得沒錯,以前第一種是區分成「個人」與「公司(Company)」兩種Program,但現在已經整合了。只是差在若你是以公司組織單位要申請,一定要提出D-U-N-S碼相關文件,這個以我之前的例子:要審非常久!而且申請文件千萬不要有錯,不然重跑流程非常花時間。


一般人較少有機會接觸到Enterprise的Program(多半都是第一種),因為工作上我主要開發的就是Enterprise Program,若有機會我再與大家分享這方面的相關經驗和資訊。


在Developer網站上,其實有非常多的資源,只要你願意看(英文),基本上上面夠你看很久很久了。但是要跟大家說明一下,就是Apple Developer實在太常改版了,尤其是「Certificates, Identifiers & Profiles」專區,這個日後再提,不過很麻煩的是每次卡完了圖,過沒多久版面又改掉了,常常會造成講的地方跟最後改版的位置或功能名稱不相同,實在有點擾民就是了。

這篇就介紹到此,有興趣的人請自行研究囉。


沒有留言:

張貼留言