2013年2月4日 星期一

iOS 憑證申請總整理(一)

注意:

CSR 檔案很重要,請妥善保存

如果有比較高級的安全性需求,建議每一個帳號作兩份 CSR,分別對應 dev/dis 環境的憑證申請

注意,CSR 檔案真的非常重要..

如果你覺得不重要,那你應該是已經搞懂了 private/public 和相關資料流程的人

不然就是完全不知道 CSR 檔案重要的原因..

CSR 檔的重要性在於可與對應的專用/公用密鑰對應

如果這三者有其中一份不見了..請考慮重新作一組..

目前為止,我不知道怎麼從鑰匙重新產生對應的 CSR 檔案

如果你知道,請告訴我

先從申請憑證講起(下圖)

申請憑證時,會產生對應的專用、公用 key 到鑰匙中

並以輸入的一般名稱儲存,名稱這個東西很重要,尤其當你是 soho 或有需要申請多組憑證時

名稱可以事後變更,不過何必多一道工呢

選擇儲存到硬碟是因為之後要上傳到 apple developer

PastedGraphic-2013-02-5-12-03.png

之後到 developer 或 distribution 要求 certificate

系統會要求提供 CSR

上傳成功後,稍等一下就會產生對應的 certificate

PastedGraphic7-2013-02-5-12-03.png

下載下來後(記得順便下載 WWDR)

會在 keychain 中發現對應的 certificate (憑證)

這邊會發現下載回來的 certificate 會有對應的 key,

所以 key 不能亂砍..

PastedGraphic8-2013-02-5-12-03.png

同時,在 Xcode 的 organiser 中也會看到對應的 ID

之後想移除 Teams 的帳號,到 keychain 移除對應的 certificate 就可以了,然後,千萬別動 key

由於 Xcode 的這方面機制很容易錯亂(我沒有說爛..果粉別噴我)

切換帳號或使用不同帳號的 provison 簽署(即使 dev..),我常出現問題

所以很習慣刪除 certificate 再切換帳號

頭像有綠色勾勾表示可以使用/沒有問題

PastedGraphic9-2013-02-5-12-03.png

DEVICE ID 沒啥可說的

可以在 Xcode organizer 中直接 add to portal 加入這邊,profile 顯示的是有使用該機器的 dev profile 數目

PS: 每個帳號一年只能新增 100 “次”新裝置,也就是說移除舊裝置不會影響到 100 這個數目

PastedGraphic1-2013-02-5-12-03.png

APP ID 申請畫面,這邊的 description 和 bundle identifier 之後都不能更改

記得要有識別性

PastedGraphic2-2013-02-5-12-03.png

下圖是 app id 列表

Wildcard 應該會自己產生,如果沒有的話,可以自己建立一個 bundle identifier 為 *, decryption 自訂的 app id

如果沒有這個,xcode organiser refresh 時會出現 wildcard 錯誤

PastedGraphic4-2013-02-5-12-03.png

App ID configure 內容

推播、iCloud 等設定都在這邊

PastedGraphic5-2013-02-5-12-03.png

啟用四項設定其中任一時

之前的 provision file 必須要重新產生,不然無法套用設定

另外,推播需要有 SSL 檔案用於加密訊息,與 certificate、provisioning 獨立(意思就是更新 certificate、provisioning 時不用重新產生)

Data protection 不太了解,請參看 http://blog.csdn.net/lifengzhong/article/details/7739477

PastedGraphic6-2013-02-5-12-03.png

建立 Provisioning 時,需要輸入 Profile name(之後可修改)

挑選 certificate (dev 環境的話)

certificate 理論上在 dev/dis 都只能有一組

不過因為可以在 member center 中邀請開發者,開發者可申請 certificate

因此可能會有多組 developer certificate

但是 distribution certificate 一定只能有一組,請妥善保管當初申請時的金鑰(使用 p12 輸出)

遺失的話,就只能重新建立 CSR 重新建立(不會對已簽署的 app 造成影響)

development provision profile 可以選擇 certificate, app ID 和 devices

app ID 是選擇對應的 ID,而且只會出現app id 的 description name, 沒有識別性的話就只能猜了..

Devices 是此 provisioning profile 可以安裝的裝置

裝置安裝了此 provioning 後,就可以執行 bundle id 為對應 app id 的 app 了

換個說法,建立名稱為xyz 的 provisioning profile,使用 app ID tw.com.abc, 選擇機器 2,3,4 後

一個 bundle identifier 為 tw.com.abc 的 app 就可以用xyz 簽署,並使用機器 2, 3,4 執行

此外的 app, 如 tw.com.gef 不可使用此 provisioning profile 簽署

此外的裝置,如裝置 1, 5, 6, 則無法用於執行使用 xyz 簽署的 app

PastedGraphic10-2013-02-5-12-03.png

distribution,這邊可以選擇兩種

app store: 上傳到 apple store 用,只可選 ID,不用選機器

ad hoc: 臨時,基本上是給 testflight 之類服務執行大範圍測試使用

除了 app ID 外,必須指定可用裝置

(這也是為何 testflight 需要先申請、安裝他們的憑證、上傳 udid 並新增到 devices 中之後才可使用)

PastedGraphic11-2013-02-5-12-03.png

distribution 頁面都是說明

pass type ID 頁面沒用過,所以就不說明了

沒有留言: