Apple App Store : TestFlight Beta Testing 懶人包
2014 年 Apple 收購了 Burstly,取得旗下支援 iOS 與 Android 的 App 測試平台 TestFlight。隨後年底的 WWDC 推出了 TestFlight Beta Testing,並且立刻(很現實地)停止 Android 支援。
本文完成於 2016/04,未來或許會有改動。作為懶人包,將只記錄如何設定多個開發者與一組公司帳號將 APP 推上 TestFlight 與 App Store 的要點。
前言
以下為本文與未來的系列文章之設定前提,如與螢幕前的你需求有不同之處,可能必須自行調整設定項目。
- 公司有一組 Apple 開發者帳號,並且以組織的身份註冊。
- APP 未來將以公司帳號發布。
- 有多個開發者要能各自能推 build 上 TestFlight。
- 暫且不論外部測試,以內部測試為主。
Apple Develop 與 iTunes Connect
Apple Develop 與 iTunes Connect 的關係可能搞的大家一個頭兩個大,大致上兩個入口的差別如下:
- TestFlight 需要透過 iTunes Connect 設定版本與其管理人員/可下載人員
- 可以推 build 上 TestFlight 的開發者資格則是由 Apple Develop 處設定
設定關鍵
雖然 Apple Develop 處所有開發者皆以 Development 身份新增憑證,但最後設定完成的開發者所推上 TestFlight 的 build 也能直接移到 App Store 上架使用。
-
Apple Develop
- 你用來設定的主要帳號至少需要具備 Admin 或以上權限。
- 到 Apple Develop - iOS App IDs 替你的 APP 建立一組沒有任何符號、獨一無二的 APP ID。
- 你需要替每個要能推上 TestFlight 的開發者以 Admin 的身份被邀請到 Apple Develop - Account 內。
- 邀請完成後,每個開發者都必須到 Apple Develop - iOS Certificates (Development) 中上傳本機 KeyChain 產生的個人密鑰,以下載 Apple 配對組合的開發者憑證。
- 到 Apple Develop - Devices 加入至少一組開發用裝置的 UDID,如果沒有新增任何裝置,下一步會不能進行。
- 最後,你會需要到 Apple Develop - iOS Provisioning Profiles (Development) 中新增一組專屬於某個 APP 的描述設定檔。裡面包含開發人員、開發用裝置兩項資訊,如有新增/移除任何人員或裝置,開發者們都必須集體重新套用一次此設定檔。(套用設定檔建議透過 Xcode 設定中的 Account 頁籤。)
-
iTunes Connect
- 要能使用 TestFlight 測試 APP 的使用者必須要先被邀請到 iTunes Connect 使用者中,再到需要 Beta 測試的 APP 中設定該使用者為 TestFlight Beta 版測試人員。
- 使用 TestFlight 的使用者,不一定要給予管理職能。
-
Xcode
- 確保已經登入正確的 Apple ID,並且已經下載相應的 Provisioning Profile。
- 確保你專案設定中 General 頁籤內的 Bundle Identifier 與前一步在 Apple Develop 設定的相符合。
- 確認 Build Settings 頁籤內的 Code Sigining Identity 選擇的是 iOS Developer(配合在 Apple Develop 的設定)。
- 確認 Capabilities 頁籤內啟用的 App Service 是否都是你需要的。
- 確認左上角的設備選擇的是 Generic iOS Device,否則不能在 Product 選單中選擇 Archive 打包 APP。
- 如果有需要讓 iPhone4s/5 也能使用,需要額外將 uild settings 中的 Built Active Architecture Only 設定為 NO。
換句話說,假設你做了一個神奇 APP 想讓你的好基友應久試玩,那你只需要設定在 iTunes Connect 裡把加他的 Apple ID 加入 iTunes Connect 使用者與 TestFlight Beta 版測試人員名單中,最後應久就會收到測試用的 Redeem 碼了。
再做另外一個假設:金瓶是你這個神奇 APP 開發團隊的成員,你想要他天天幫你瞧程式碼。所以,你必須以 Admin 的權限邀請他加入你團隊的 Apple Develop,同時再把他邀請到 iTunes Connect 使用者中,最後設定完相關的憑證與 Provisioning Profiles 就可以了。
實際流程
由於實在太複雜了,我計畫把詳細流程分成以下幾篇文章,其中有些尚未完成,如果有需要請自行參閱。
- Apple App Store:如何在 iTunes Connect 中新增一組 APP
- Apple App Store:如何在 Apple Develop 中設定開發者
- Apple App Store:如何在 iTunes Connect 中設定開發者
- Apple App Store:XCode 該怎麼打包 APP
- Apple App Store:該怎麼使用 TestFlight
常見問題
- Apple App Store : This certificate has an invalid issuer 無效的簽發者
- Apple App Store:An App ID is not available
- App not compatible on iPhone 4s and 5 in Testflight