常見的iOS發布不外乎為

  1. App Store上架
  2. Vpp Store上架(大量授權)
  3. TestFlight

這三種方式都必須要通過審核(至少在寫文章的時候是這樣)

那麼,如果只是發布給公司內部的員工使用。

例如:給測試人員使用,或是給業務等前線單位試用的時候,也要經過審核的話就非常耗費時間。

所以這邊就説說另外一種方式,可以不用通過Apple審核也可以進行發布的方式:Ad Hoc

使用Ad Hoc有一個前提,那就是目標手機必須要在開發者帳號下登記過。

所以要先檢查provisioning profile中有沒有手機的UDID。

2024註:

這邊建議手機可以在註冊的時候把UUID跟機型、使用者之類的做個表管理一下

透過解析 ipa 中的 embbed provision profile 就能比較輕鬆的找出這個 ipa 有哪些人可以安裝

Ad Hoc

具體發布大概有以下步驟

  1. 打包
  2. 輸出 ipa
  3. 準備 manifest.plist
  4. 準備一個可以存取的網路空間(https)
  5. 準備一個網頁或是QRCode
  6. 執行下載

上述所有步驟裡面,最麻煩的大概就是一定要走https協定這件事。 所以這部分我覺得分兩個情境來看。

如果走的是內網下載,之前有試過用python架設https server,是可以用的。 ref of http ref of https

如果走的是外網下載,但是沒有購買SSL憑證。 那也可以自己建立憑證讓目標手機下載,

2024註

後來好像不行了,建議走 Dropbox 吧

先來説說如果不用腳本的話要怎麼做到這些事情。

  1. Xcode中選擇Archive,打包的時候記得挑好對應的Build Configuration
  2. Organizer中選擇Distribute App,選Ad Hoc,之後就是一路next
    1. OTA的選項可以勾也可以不勾,勾起來的話會自動幫你產生一個manifest而已。
  3. manifest中的路徑、bundle identifier等相關資訊修改完
  4. ipa, manifest 上傳到網路空間
  5. 從網頁或是QR Code中執行下載功能。

整套流程能使用Fastlane去處理,會方便很多。 這邊是把最基礎的手動版本寫出來。