組織與企業開發者帳號的團隊管理功能
如題,個人開發者帳號是沒有團隊管理功能的,若還不清楚開發者帳號間的差異可以先參考 如何抉擇 Apple 開發者帳號的類型。
在 官方文件 中開發者帳號中的團隊角色可分為以下三類:
- Agent : 開發者帳號的所有人,僅此一位,可以指派某位被邀請的人成為 Admin。
- Admin : 每一個 APP 都有一位 Admin 負責幫忙設定與輸出憑證(Certificate)與描述檔(Provisioning Profile)。(個人認為應該是 PM 或者 Planner 之類的角色吧?)
- Member : 毫無反應,就是開發或測試人員。
注意,上述皆為理想狀態的情況⋯⋯
那麼,我們中途打個岔說明一下憑證(Certificate)與描述檔(Provisioning Profile)到底是蝦咪?

圖中有Certificate的解釋可以順道看一下,英文不好我就不獻醜惹。
在登入開發者中心之後我們可以看到上圖的畫面,左側依序可以看到 Certificates, Identifiers, Devices, Provisioning Profiles。
而在開發 APP 的時候分成兩個階段的環境設定:Development 與 Distribution。
顧名思義前者就是工程師前期開發的時候用的,後者就是後期要發測試或上架時所需要使用的⋯⋯的⋯⋯的什麼???
沒有綽辣,那個什麼就是我們的憑證(Certificate)與描述檔(Provisioning Profile)!!!
在 Xcode 裡我們要設定某一個描述檔(Provisioning Profile)做為 Signing 的依據,而 Signing 又分為 Debug 與 Release 兩種情況使用;簡單來說,你可以把 Debug 與 Development 聯想在一起,Release 與 Distribution 聯想在一起,而這個 Signing 則是在你透過 Xcode 安裝到實機(Debug, Development)上或上傳到iTunes Connect (Release, Distribution)會檢查的項目。
憑證就是你有沒有權限開發( Development )與發佈( Production ) APP 的證明。
當 Admin 在 Developer Center 設定好憑證與描述檔後,就要將其輸出並下載給工程師,而工程師會獲得描述檔 xxx.mobileprovision,如果有推播功能的話還會另外有憑證 xxx.cer 或者 xxx.P12, xxx.pem。
誒⋯⋯ .P12 跟 .pem又是什麼呢?
基本上 .P12跟 .pem 本質上都還是 .cer 憑證相關的東西,只是他們經過了一些加密程序之後就會變成 .P12 跟 .pem。而加密的依據通常是使用Admin的certSigningRequest檔,如何產生可參閱 此篇。
實際狀況是⋯⋯
當團隊成員或者開發的 APP 還不會很多的時候,為了求方便都會要求工程師直接當 Admin。
好處是工程師可以自己利用Xcode產生需要的憑證與描述檔,要做什麼測試或者權限的調整都可以第一手處理
壞處是工程師很累什麼都要管,而且工程師離職的時候就沒有人知道怎麼管理這個平台了。~~(也就是工程師要弄公司就非常簡單)~~
又或者是未來團隊成長了需要一個 SOP 時,那個懂的工程師就會被煩爆事情都不用做了⋯⋯(´・ω・`)如果又剛好是組織開發者的帳號的話,並因為某些貪圖方便的原因而造成 Device 數量爆表,而且又要等到隔年繳錢的時候能清除無用的裝置,勢必又會影響到開發時程。
如果你很天真の以為 Device 爆表之後改吃 TestFlight 的裝置數量(每個 App 是獨立計算)就沒問題的話⋯⋯
你可以試試看什麼叫做 Build ipa -> Upload to App Store 就花了 10+ 分鐘,然後你還要切換 Development 跟 Distribution 的環境參數設定,一來一回大概 15+ 分鐘跑不掉呢 ˊ_>ˋ
所以,可以的話還是開始就先建立一套管理機制吧,對工程師對公司而言都是比較好的選擇。
