[iOS]使用Enterprise Program方案建立及發佈APP

  • 10408
  • 0
目前Mobile App的使用非常全面,已經由個人的娛樂需求,往企業的商務需求滲透。企業中資訊系統的使用情境,也不再只是坐在個人電腦前使用鍵盤滑鼠操作,更擴大到使用智慧型手機快速即時的確認及回覆資訊,「開發一個可以讓公司所有員工使用的App」已經是很常見的需求。

要建立Apple 企業App的Solution,有以下幾個步驟:

1.購買Enterprise Program

要建立iOS的App,必備的條件就是需要有開發者帳號。與一般App開發方案不同的是,建立企業App需要使用的是Enterprise Program。購買Enterprise Program需要一些前置作業,以及299美金/年的費用。可以參考kmyhy的专栏-企业版IDP的申请及“In House”发布 以了解Enterprise Program的購買程序。如果不知道Enterprise Program與其他方案的差別,可以參考Ryan 的筆記本-Apple iOS Programs的各種授權比較

2.建立憑證

當Enterprise Program申請完成並審核通過後,就可以進入Apple Developer網站進行開發帳戶的建立及管理。第一件事情,就是建立憑證(Certificate)。憑證記錄了一個人或是一家公司的基本資訊,並由憑證的發行公司來確認及擔保這些資訊是正確的。所以也有人說,憑證就是一個數位方式的印章,用來證明某些事情是由「印章」擁有人所做的。

Apple用憑證來幫App「蓋章」,也就是說用憑證來簽署(Sign)你所開發的App的Source Code,藉以證明及標注該App是由你或你們公司所開發的。然後在App Store上架之後,也會在該App的說明中取得開發人員或公司的基本資訊。Apple不允許沒經過憑證簽署過的App上架到Apple Store,或是發佈到企業員工的手機上。

P01

要申請Apple的憑證,就需要到Apple Developer的站台,進行申請及設定。可以申請的憑證有兩種-DevelopmentProduction

P02

Development憑證」是在開發過程中使用,它可以讓個別開發人員用以簽署Source Code以將App放到自己的手機上進行實機測試。參考APPSGAGA-[Xcode7] 實機測試。或是部署到特定幾台手機上(手機設備需登錄在Apple Developer的站台中)以進行測試。

Production憑證」則是當App要上架到App Store(一步一腳印的 iOS App 上架流程),或是部署到企業內部供企業員工使用時,都需要經過的打包(Archive)程序中使用。也就是說,有Production憑證才能進行App的部署,以讓目標使用者使用。

Development憑證的設定可以透過有點麻煩的手動處理,也可以透過XCode進行自動設定。這兩種方式,最後都會產生一個安裝在開發者電腦中的憑證檔,開啟鑰匙圈存取就可以看到及進行管理。

設定Development憑證-手動設定

手動設定Development憑證的方式,就是在Mac的鑰匙圈存取中,建立一個CSR(Certificate Signing Request)。然後在Apple Developer的站台上,使用該CSR進行憑證的申請。最後可以下載憑證檔案,自行安裝在開發者的電腦上。

可以參考羊小咩-喇低賽

設定Development憑證-自動設定

在XCode 7.0之後,XCode簡化了Development憑證的申請及設定工作。只要有開發者帳號,就可以透過XCode簡單的按一個按鈕進行Development憑證的申請及設定。而如果開發者帳號是Enterprise Program的話,只要請帳號管理者將你加入Team中,就擁有了基本的開發者權限,也就可以使用XCode設定Development憑證。

進入XCode的[Preference],選取選[Accounts]頁籤,加入你的Apple ID。加入完成後,點選你的Apple ID,並按下View Details功能鍵,就會跳出以下視窗。

P03

按下iOS DevelopmentCreate按鈕,XCode就會自動地幫我們處理好開發憑證的設定及安裝。

設定Production憑證

設定Production憑證的程序與設定Development憑證的程序是一樣的,可以手動建立CSR,然後進行申請及安裝設定,也可以透過XCode自動處理。

但是,重點是在一個開發團隊中,Production憑證並不是人人都可以設定的。以Enterprise Program來說,只有擁有Admin的權限的人可以設定,而且只能同時存在兩個Production憑證。

3.打包 App

當App開發完成,也經過實機測試後,就可以準備將此App進行打包,封裝成.ipa檔,再依據需求進行App的部署。

在進行Archive之前,有些設定必須先行處理

APP ID

每一個App都有其獨一無二的ID,以用來辨識。這個ID就是App ID。要了解及設定App ID,可以參考這篇文章-一步一腳印的 App ID 建立流程

Provisioning Profile

.ipa檔中包含了一個描述簽核App的憑證、APP ID、iOS設備 ID的檔案,也就是Provisioning Profile。iOS設備會依據這些設定,管理App是否可以裝在該台手機上。

可以參考關於 Provisioning Profiles 這些事以了解Provisioning Profiles所導致的一些問題。

Provisioning Profile的設定其實有些煩瑣,因為需要搞定憑證APP IDiOS設備ID等資訊。幸好XCode也可以代勞。只要確定專案的設定中,Signing區塊的Automatically manage signing有被勾選起來。當打包到.ipa檔的程序中,XCode就會代為處理Provisioning Profile的設定。

P04

權限問題

在處理Enterprise App時,必須擁有AdminAgent的權限,才有辦法進行打包作業。如果沒有的話,在打包的過程中,無論是上架到Apple Store,或是要Export出.ipa檔,都會出現以下的錯誤提示。

P05

4.發佈App到網站上

在一般的情況下,讓企業內部的使用者連到一個網頁上,按下連結以安裝App是最簡單方便的作法。這種作法,就是所謂的Over-The-Air (OTA)

要做到這一點,可以參考這篇文章-Enterprise、Developer Program & 發佈ipa檔

其他的發佈方式,可以參考簡介Apple iOS Enterprise Program