1. 程式人生 > >iOS開發流程——從註冊開發者賬號到提交應用

iOS開發流程——從註冊開發者賬號到提交應用

這篇由兩部分組成的系列教程,將會記錄成為一個Apple iOS開發者的每個步驟——從沒有帳戶的小白到能在App Store上釋出應用。

我將向你展示如何註冊Apple iOS開發者計劃,如何生成各種需要的證書,如何配置應用,如何提交應用給App Store稽核。

為了製作這個教程,我建立了一個完全新的App Store賬號,並且向App Store提交了一個新的應用,仔細記錄了每一步流程。

我向App Store提交的應用是上一個系列教程裡建立的應用(如何用Cocos2D和Box2D製作彈弓射擊遊戲)的改進版。這個應用(cute-a-pult)已經通過稽核並且可以在App Store裡下載。

你需要為這個教程準備99美元,一張有效的信用卡和一個瀏覽器。雖然沒有說,但開發一個應用,你需要一個Mac電腦,最好安裝了OS X 10.7 獅子系統。

最後,你需要用到Xcode,Apple的開發軟體。一旦你註冊了Apple的iOS開發者,你就可以下載Xcode。

擁有適當的耐心將有助於學習本教程。成為一個iOS的註冊開發者是一個漫長的過程,並且有些時候會遇到重複的步驟。要記住:教程結束,你就能夠向App Store提交應用,這會帶來潛在的財富和榮譽。

入門

通往App Store道路上的第一步是註冊成為一名Apple開發者。注意:成為一名Apple開發者是免費的,這與成為iOS開發者不同,成為iOS開發者需要支付前邊提到的99美元費用。

你可能在Apple已經有一個開發者帳戶。如果是,請略過下邊步驟,直接跳到下一小節。

如果你還沒有Apple開發者帳戶,請轉到iOS Dev Center,並點選“register”連結:

iOS Dev Center

點選“Get Started”按鈕:

註冊成為Apple開發者

在下一頁,你可以選擇建立一個全新的Apple ID或者是使用已有的賬號。如果你願意,你可以使用在iTunes上支付時所使用的Apple ID來節省時間。但是我建議建立一個新的、乾淨的ID。這有助於確保你所有的資料都是正確的,並且可以保持私人和職業的賬號分開。

所以,選擇“Create an Apple ID”並且點選“Continue”:

建立全新的賬號

填入你的email、密碼和安全資訊。使用經常訪問的email郵箱地址,因為Apple會經常傳送計劃更新資訊和你提交稽核應用的狀態資訊。

填寫登錄檔格

向下滾動,填寫你的個人資訊,並點選“Continue”:

繼續填寫登錄檔格

下一頁是法律協議。打給你的律師,把全文讀給他/她聽。一獲得你律師的批准,就選中複選框,並點選“I Agree.”按鈕。

閱讀法律協議

差不多結束了。

驗證帳戶

檢查你註冊時輸入的email賬號,你應該會收到一封像這樣的電子郵件。點選郵件中的連結或在註冊流程的最後一頁輸入郵件中的驗證碼。

驗證Email地址

酷,你已經是一名Apple開發者了!非常好,但是你可以開始開發應用並向App Store提交應用了嗎?好吧,到目前為止還不行…點選“Continue”並且讓我們向Apple支付一些錢。

註冊成為Apple開發者

加入iOS開發計劃

成為一名Apple的註冊開發者可以讓你訪問很多資訊,但是要能夠在App Store提交應用(和訪問某些相關的內容)需要加入Apple的iOS開發者計劃。這一部分每年需要花費你99美元。

如果你依照之前的小節並且點選了“Continue”,你應該在這個地方。如果你因為已經有了Apple開發賬號而跳過了之前的步驟,那進入Developer Member Center並登入,你也會在這裡。

登入後,點選頁面右邊的“Join Today”連結:

Join Today

下一頁是一個步驟預覽,它看起來只有3步,但實際上一有15步。深呼吸,確保你有半個小時的時間,然後點選“Continue”:

加入開發者計劃

選擇使用已經存在的Apple開發者ID,並點選“Continue”:

使用現有賬號加入開發者計劃

下一頁是問你打算以獨立開發者的身份加入還是以公司的身份加入。作為教程,我以獨立開發者的身份加入,這差不多也是你將會選的。如果你選擇以公司的身份加入,這個過程不會太容易。你需要提交很多資料以證明你加入了這家公司。

如果你選擇以公司身份加入,請閱讀右邊的要求以確保你擁有所有需要的東西。

否則,就點選左邊的“Individual”按鈕,讓我們繼續。

選擇獨立開發者

你必須要再登入一次,填寫表單,並點選“Sign in”:

再次登入

輸入賬單資訊以驗證身份。Apple會嘗試與你的信用卡公司驗證這些資訊,所以確保你的輸入正確:

輸入賬單資訊

向下滾動,填寫剩下的資訊,並點選“Continue”:

繼續填寫賬單資訊

到了選擇一種計劃的時候了,這個系列教程關注iOS Developer Program,所以這是我的唯一選項。如何你想開發OS X應用,你可以選擇加入Mac Developer Program,但是你需要另外支付99美元(如果你現在不能決定也不用擔心,之後也可以登入選擇)。

選擇你的計劃之後點選“Continue”:

選擇一種計劃

檢查你的資訊,如果有任何錯誤請回到之前的步驟修改。一切完畢請點選“Continue”:

檢查填寫的資訊

下一頁是另一個法律協議,所以你需要再次打給你的律師,你的律師說OK後就選中複選框,並點選“I Agree”:

另一個法律協議

注意:下邊的步驟只適用於美國和其他擁有線上App Store的國家。對於沒有線上App Store的國家,這些步驟稍微有些不同,會要求你傳真你的信用卡資訊給Apple。不幸的是,對於那些所在國沒有線上App Store的讀者,你需要自己完成這一小節餘下的步驟。所以,請依照Apple的說明,並在下一小節再見。

對於依然停留在這裡的人,請點選“Add to cart”:

將“開發者計劃”加入購物車

這帶我們進入了App Store以繼續註冊流程,點選“Check Out Now”按鈕:

去付費

你需要使用新建立的Apple ID再次登入:

再次悲催地登入

你需要輸入“shipping address”(送貨地址),雖然Apple不會給你送來任何東西。我建議你輸入之前填入的信用卡賬單地址(之後馬上還會輸入這個地址)。填完表格然後點選“Continue”:

輸入送貨地址

再次點選“Continue”按鈕:

再次點選“Continue”按鈕

現在你需要再次輸入你的賬單資訊和信用卡號,並點選“Continue”按鈕:

再次輸入賬單資訊和信用卡號

我們差不多結束了。你現在所在的這頁可能會向你顯示預估的銷售稅,這點你可能會也可能不會被收取(我沒有)。準備就緒,點選“Place Order Now”按鈕:

下訂單

不用謝哈!

註冊完畢

現在,進入實質階段

在提交註冊成為iOS開發者申請並支付了費用後,你需要等待一天讓Apple處理你的訂單。

如果因為你的所在國沒有Apple Store,而必須傳真資訊給Apple,那你需要更多的耐心。我第一次註冊的時候就遇到這種情況,我花費了一週時間來等待Apple回覆我。

無論發生什麼情況,你最終都會收到這樣一封來至Apple的郵件:

註冊成功收到的郵件

同時,你也會收到這封郵件:

另一封註冊成功後收到的郵件

如果你還沒有Xcode這個iOS開發中主要用到的工具,那你應該下載Xcode它了,使用你註冊的iOS開發者賬號來下載。在這個教材中,我們只會簡單的使用Xcode,RayWenderlinch.com上其他優秀的教程將會教你如何使用Xcode。

登入進入iOS Dev Center

在你提供了登入資訊後,你終於進入了iOS Dev Center。

iOS Dev Center有許多的資訊。有程式設計指引、下載、文件、視屏以及非常有幫助的開發論壇和支援中心。

花點時間來熟悉哪些東西是可以用的。注意有些資訊可能是要求保密的,特別是涉及到beta版本的iOS或Xcode。

在這篇教程裡,我們會關注兩個你開發應用時經常使用的入口:iOS Provisioning Portal和iTunes Connect。

兩個常用到的入口

首先我們介紹下兩者。

iOS Provisioning Portal

我們應該知道,沒有越獄的iOS裝置只能執行經過Apple批准並且通過App Store安裝的應用。

Apple通過要求每個執行在iOS的應用都擁有一個簽名證書來實現這一點。從App安裝的應用都捆綁了一個證書,系統在執行應用前會驗證這個證書。如果沒有簽名或者簽名無效,應用將不會執行。

作為開發者,我們需要經常在裝置上除錯我們正在開發的應用。因為這點,我們需要一個方法來建立我們自己的證書並給它簽名。

這就是iOS Provisioning Portal的作用。這個入口允許你建立Apple稱為“profiles”(配置檔案)的東西,配置檔案(有時也被稱為“code signing identities”)是在這裡生成的檔案,它允許Xcode對你的應用簽名,這樣裝置的iOS會認為應用是有效的。

有兩種型別的配置檔案:

- Development profiles。這個配置檔案捆綁到了特定的機器,所有開發中的應用只能執行在這些機器上。

- Distribution profiles。在你提交應用給Apple稽核前,需要用這個證書用於對應用簽名。它沒有包含和裝置有關的資訊,但是你不能使用他們在你自己的裝置上安裝應用,因為Apple在稽核流程後還有對應用簽名。

如果你的應用想傳送push通知(當條件觸發時,從服務端發來的彈出訊息)的話,Provisiong Protal也能生成push證書。

iTunes Connect

iTunes Connect是你用於提交應用的入口。這是你註冊新應用、輸入應用描述和截圖、選擇價格、配置game center和應用內支付的地方。

這也是你同來接受新的合同、設定財務資料和檢測銷售的入口。

這篇教程的剩下不會我們會使用Provisiong Protal。下一次,教程的第二部分,我會向你介紹iTunes Connect。

證書、設備註冊和配置檔案

這篇教程接下來的部分,我們將會使用iOS Provisioning Portal來設定在自己裝置上(和之後為了釋出到App Store)開發應用所需要的資訊。

注意,用Xcode中的Automatic Device provisioning工具來完成這項任務會更加簡單,我會在這個系列教程的第二部分採用這種方式。但這裡我會一步一步地帶你完成,通過這種方式你會更好的明白這一切是怎麼工作的,當你在App Store釋出應用時,這些資訊是對你來說非常重要的。

如果你依然停留在iOS Dev Center頁面,就請點選右上方的連結或者這裡

進入iOS Provisioning Portal

進入後你有很多事情需要去完成。有些你只需要完成一次,比如生成你的證書和註冊裝置。其他的事情對你的每個應用都會重複進行一次,比如生成開發配置檔案和釋出配置檔案。

首先,你需要生成兩個證書,一個用於你的開發配置檔案另一個則使用者你的釋出配置檔案。

讓我們點選“Certificates”連結來得到我們的證書:

進入“Certificates”獲取證書

點選“Request Certificate”:

請求證書

下一個介面將會解釋如何請求證書,我會指引你。

讓我們離開瀏覽器一會兒,在你的Mac上開啟Keychain Access。如果你不知道在哪裡開啟,可以使用Spotlight搜尋:

用Spotlight搜尋Keychain Access

程式開啟後,從Keychain Access選單裡選擇“Certificate Assistant”,然後選擇“Request a Certificate From a Certificate Authority…”:

選擇Request a Certificate From a Certificate Authority...

在Certificate Assistant窗口裡,填入你的email地址和名字,選擇“Save to disk”並且點選“Continue”:

儲存Certificate

把這個檔案儲存在你的Mac上。

回到瀏覽器,通過“Choose file”找到剛才儲存的檔案,並點選“Submit”:

上傳檔案

Apple需要一些時間來為你生成證書。我見過花幾分鐘的,但有時它會長一些。在我們等待的這段時間(證書的狀態可能會提示是“Issued”,但是直到下載按鈕出現,證書才是真正的準備好了),讓我們做些其他需要做的事情。

你可以在“Current Development Certificates”這一節的下邊看到一則訊息,它提示:“如果你還沒有安裝WWDR,現在就點選這裡下載”。點選這個連結。

下載WWDR

這會下載一個名為AppleWWDRCA.cer的檔案。雙擊安裝這個它。如果你已經關閉了Keychain Access,安裝程式再次開啟Keychain Access。這個檔案安裝了之後,請保持Keychain Access開啟,因為我們幾分鐘之後會再次用到它。

你同樣需要一個釋出證書。點選“Distribution”標籤,並像開始一樣,提交證書檔案。我不是安全專家,但我認為在這種情況下,重複使用相同的證書籤名請求沒什麼大不了的。如果我錯了請隨時糾正我。

再次說明,有時等待證書的下載按鈕可用需要花點時間。我們同時擁有了兩個證書才能繼續下邊的步驟,所以如果你依然在等待中,去喝杯咖啡,或者細讀下本站的其他教程,然後再回來。

兩個證書都準備好後,點選Development標籤頁和Distribution標籤頁的“Download”按鈕以便獲得兩個證書檔案。

下載證書

雙擊兩個檔案安裝到你的keychain。你應該看到你的證書如下圖所示:

安裝證書

現在你可以關閉Keychain Access了。

讓我們繼續。下一步是註冊你的裝置。在左邊的選單點選“Devices”,然後點選右邊的“Add Devices”:

新增裝置

你需要獲取用來除錯應用的裝置的UDID。這裡有幾種方式來取得裝置的UDID:用免費的應用來得的UDID,或者你可以使用Xcode的Organizer。我會像你展示如何使用iTunes來獲取UDID。

開啟iTunes並且把你的裝置插入到計算機。從左邊的選單選擇裝置。iTunes會顯示裝置名稱、容量、版本、序列號和電話號碼。點選序列號,然後它會變成你的裝置UDID。

通過iTunes獲得UDID

現在使用CMD-C來拷貝UDID到剪貼簿。

回到瀏覽器,輸入裝置名稱並貼上UDID到相應的欄位。裝置名詞可以是任何你想要的名字。要新增更多的裝置,請點選“+”按鈕。一切妥當後,點選“Submit”。

在網站上新增裝置

你可以隨時回來新增更多的裝置,比如那些屬於朋友或者beta測試者的裝置。Apple允許你每年每個帳戶最多註冊100個裝置。(注意:如果你註冊了一個裝置然後又移除了它,它依然會佔據一個名額)

現在,你的裝置已經註冊了,我們需要註冊一個app ID。每個應用都需要一個它自己的app ID。點選左邊選單的“App IDs”:

註冊App ID

你會看到一個對app ID概念的詳細解釋。簡要地說,app ID是由Apple生成的10個字元長“種子”字首加你自己的bundle ID組成。把它們組合在一起就為你的應用建立了一個唯一識別符號。

這裡是一些關於app ID的重要內容,你應該知道下:

1、如果你想要在你的應用間分享keychain資訊,你可以讓它們擁有相同的種子字首。比如你有一個應用套件通過一個登入入口來使用同一個網站。如果應用間分享相一個種子字首,一個應用儲存使用者資訊到iOS的keychain,那麼這個套件裡的其他應用也可以從keychain活得登入資訊。

2、bundle ID必須是唯一的。在Apple的push服務在IAP和iClound中會使用到它。

3、Apple建議使用反向域名形式的字串來作為app ID的Bundle識別符號部分。建議的格式是““com.domainname.applicationname.”。

4、Apple允許你使用星號來建立一個帶萬用字元的bundle ID,以便在你的所有應用中都使用同一個bundle ID。但是我不建議這麼做。使用帶萬用字元的bundle ID可能會讓建立配置檔案簡單些,但是你不能使用push服務或者IAP了。或許你現在不打算使用這些服務,但是你一旦改變你的想法,除非建立一個新的應用否則你無法改變應用的app ID。

現在,你知道了app ID的所有內容,讓我們建