首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

iOS Ad Hoc 部署:應使用 Distribution 還是 Developer 推播證書?

     編輯:程式設計綜合問答

結論先行

Ad Hoc 部署必須使用 Distribution(發行)推播證書(APNs Production iOS Push Services),而非 Developer(開發)證書。

原因解析

  • Ad Hoc 屬於發行渠道:ipa 經過企業或 Ad Hoc Provisioning Profile 簽名,安裝在受限裝置上,屬於「生產環境」分發。
  • APNs 環境隔離:Apple 推播服務分為 Development(沙箱) 與 Production(生產) 兩套獨立伺服器。Development 證書只能連沙箱,Production 證書只能連生產。
  • Ad Hoc 建構的 App 會連線到 Production APNs:若在伺服器端使用 Development 證書推送,裝置收不到通知;反之亦然。

實務檢查清單

  1. Apple Developer 後台 → Certificates → 建立 Apple Push Notification service SSL (Sandbox & Production) 或單獨的 Production 證書。
  2. 匯出 .p12,上傳至推播伺服器(如 NWPusher、自建 Java/Go/Node 服務)。
  3. Provisioning Profile 選擇 Ad Hoc 類型,包含目標裝置 UDID。
  4. Xcode 專案 → Signing & Capabilities → 勾選 Push Notifications,確認 Profile 正確。
  5. 真機測試:安裝 Ad Hoc 版 App,從伺服器發送測試推播,確認收到。

常見誤區

「我在 Xcode 選擇 Development 團隊跑真機,推播正常,為什麼 Ad Hoc 就失效?」

因為 Xcode 直接部署時,App 連的是 Development APNs;Ad Hoc 匯出的 App 連的是 Production APNs。伺服器端證書必須與 App 連接的 APNs 環境一致。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved