12

我已經成功實施了針對開發環境的APN。但是我在實現專門的分發環境時遇到問題。 任何人都可以請建議我做我需要創建不同的應用程序ID,證書和配置文件? Sandbox有沒有變化? 一個步驟教程將非常appriciated。爲ad hoc分發環境啓用Apple推送通知

感謝 Saleel Karkhanis

回答

25

對於即席分佈,請按照以下說明:

  1. 在Provisioning戶,創建分發證書。
  2. 獲取您打算用於測試的iPhone的「設備ID」。打開iTunes - >連接你的設備 - >選擇你的設備 - >在總結窗格中,點擊序列號標籤,它將變成標識符(40十六進制字符) - >選擇編輯,複製。
  3. 在調配門戶中,轉至設備 - >添加新設備 - >輸入複製的設備ID併爲其指定名稱。
  4. 在調配門戶中,創建一個分配調配配置文件。 (轉到配置 - >分配)。對於Distibution類型,請選中「AdHoc」。選擇應用程序ID,如果您有分發證書,將自動在此處選擇。選擇新輸入的設備並提交。下載此配置文件。
  5. 在Xcode中,窗口 - >管理器。點擊Devices並選擇Library - > Provisioning Profiles。如果您是管理員,那麼點擊刷新應該獲取新創建的配置文件。如果沒有,請將臨時供應配置文件拖放到此列表中。
  6. 在Xcode中,在您的項目中Build Settings - > Code Signing Identity - > Release部分中,選擇「iPhone Distribution」。對於「任何iOS SDK」,請選擇新創建的Provisioning Profile。它將在列表中提供。
  7. 在Xcode中,產品 - >存檔。一旦完成,存檔,它將自動打開存檔窗口。選擇項目,然後單擊分發,在分發窗口中選擇「保存企業或AdHoc部署」 - >選擇與新的供應配置文件對應的「代碼簽名標識」。繼續這個過程,這將創建一個「.ipa」文件。
  8. 發送此.ipa文件和新的供應配置文件以測試adHoc分配。

如何加載測試設備上的自組織分佈:

  1. 打開iTunes,連接您的測試設備。
  2. 將新的配置文件拖放到iTunes。
  3. 拖放.ipa文件iTunes。
  4. 同步你的設備。這會加載應用程序。

推送通知對即席發行工作:

  1. 使用生產證書。
  2. 使用生產APN主機:gateway.push.apple。com
  3. 使用生產APN反饋主機:feedback.push.apple.com
+2

的Xcode的8.x中請更新步驟進行更換

registrationOptions = [kGGLInstanceIDRegisterAPNSOption:deviceToken, kGGLInstanceIDAPNSServerTypeSandboxOption:true] 

過,因爲我不能跟隨在新版本步驟5和7。 – Dashrath

1

我也有這個問題。我的代碼中完全沒有錯誤。我從來沒有在Ad Hoc的手機上收到推送通知。

事實證明,我的證書存在某種問題。我創建了

我並不確定問題到底是什麼,但是我通過登錄我的開發者帳戶作爲團隊代理並在該登錄下重新創建所有內容來解決此問題。我最初創建的團隊管理員證書。

您的開發模式可能工作得很好,因爲任何團隊成員都可以創建開發分佈配置文件。但是隻有特定的團隊成員才能創建分配檔案。讓您的團隊代理創建一切並再次嘗試。

0

除了Sushma Satish的回答, 當您將證書從發展更改爲分佈式時,爲您的手機生成的設備令牌是不同的。 因此,請確保您正在更改服務器上的設備令牌。

1

對於每個環境(開發和生產),推送服務都有單獨的持續連接。操作系統建立與沙箱環境的持續連接以用於開發構建;特設和分銷版本連接到生產環境。

如果您正在使用GCM。去你的AppDelegate.swift。查找方法:didRegisterForRemoteNotificationsWithDeviceToken與

registrationOptions = [kGGLInstanceIDRegisterAPNSOption:deviceToken, 
          kGGLInstanceIDAPNSServerTypeSandboxOption:false