在developer account裡面和數位簽署相關的有六種,分別是
Certificate
Identifier
Device
Profile
Key
Service
其中Certificate
, Identifier
和Profile
為必要。可以各別在帳戶內使用藍色的「+」按鈕手動新增,或者透過Xcode的流程自動產生,了解他們對於數位簽署的過程至關重要。
好的,那我們就開始吧!
憑證(Certificate)紀錄了開發者的資訊,定義這個app是誰開發的、是做什麼用途的軟體或服務。
若是要手動產生Certificate
,apple會要求在開發的機器上的「key chain」應用程式產生Certificate Signing Request(.csr)
檔和一把的私鑰(private key),並將.csr
檔案上傳供apple製作憑證。
製作完成之後下載到機器上,可以在key chain內看到該憑證下方帶著一把private key
之後若要用同一個Certificate
開發,xcode會對你的裝置進行驗證、看你是否有對應的private key。
只有當初申請產生該.csr
檔案的機器才會有對應的private key,若要在另一台機器上使用同一憑證,則需要將原機器上的憑證連同private key 輸出為.p12
檔分享給其他信任的開發者使用。
登錄裝置供測試或發佈用,未上架的app只能透過device裡面有記錄的裝置來下載。
打開我們安裝好的Xcode,在Xcode
> Preferences
> Account
頁籤,按左下角「+」會跳出加入帳戶的視窗。在這邊選取「Apple ID」,接著登入申請好developer program的apple ID
新增了要使用的開發者帳號之後,接著我們要來新增憑證。點選右半部分的「Manage Certificates」,在新的視窗按下左下角的「+」,選擇「Apple Distribution」,代表這是一張為了發佈而建立的憑證:
接著回到開發者網站的「Certificates, Identifiers & Profiles」頁面,可以看到xcode自動幫我們申請了對應的憑證
在「Certificates, Identifiers & Profiles」頁面上選取Identifiers
頁籤,我們要來依照流程新增一個apod專屬的identifier。
a. 按下藍色「+」按鈕
b. 選取App ID
c. 選取App並點選下一步
d. 接著在description輸入關於app的敘述以方便檢視。在右邊bundle ID則要輸入我們在XCode中設定的bundle ID:
下方列表的功能若有使用到,則打勾以表示啟用。本次的範例都沒有到下述功能,因此可忽略。
e. 在Xcode中,找到app名稱(在這邊預設為Runner
)並點選TARGETS
Runner
的Signing & Capabilities
,可以看到我們的bundle identifier的名稱,將這個bundle ID 填到上述的bundle ID中並儲存。
如此便創立了這個app專屬的identifier
接下來要來創建Profile。若在XCode中勾選「Automatically manage signing」,App的Profile其實也可以交由Xcode自動創建,但是未來狀況更複雜也有可能需要手動配置,我們也來過一下手動創建流程吧:
在Profile頁籤點選藍色「+」按鈕,看到第一個選取app佈建型態的類型。由於我們的app是要上架App Store的,這邊選取Disrtribution
下的App Store
下一步選好剛剛創建的Identifier
選取所需的Certificate
最後為這個profile取一個便於識別的名字
就可以看到自己建立的Profile了
今天準備完iOS數位簽署所需要的三個主要材料:Certificate
, Identifier
和Profile
,明天要將我們的iOS app進行數位簽署並打包上傳到App Store囉~