簡體   English   中英

使用APNS HTTP / 2測試開發中的推送通知

[英]Testing push notifications in development with APNS HTTP/2

我正在嘗試確定針對APNS端點(例如,開發或生產),Xcode和Apple Push證書的組合需要做些什么,以便在開發過程中測試推送通知。 我覺得我已經嘗試了所有可能的組合,但是我一定缺少一些東西...

背景

  1. 從我的“調度”服務器使用Apple的HTTP / 2 APNS端點時,我的應用程序/設備收到推送,並且我從Apple收到BadDeviceToken響應。
  2. Pusher macOS測試應用程序 (使用舊版APNS端點)中使用完全相同的.p12證書和deviceToken ,推送成功交付。

使這一問題更加復雜...

  1. 當從我的“分發”服務器使用Apple的HTTP / 2 APNS端點進行PassKit推送時,我的pass /設備確實收到了推送。

所以...

第3點告訴我,必須正確配置我的“調度”服務器,因為推送到Apple Wallet通行證會引起響應(例如,我可以看到從Wallet /通行證到服務器端點的后續請求)。

也就是說,Apple Wallet是“生產”應用程序。 我懷疑,因為我的應用程序(來自第1點)是非生產/開發的,所以有所不同。

有沒有人能夠在Xcode中成功接收發送到Apple的api.development.push.apple.com終結點的推送通知? 您能否概述執行的步驟( developers.apple.com等提供的證書)? 謝謝!

您應該能夠從服務器發送開發推送:

您需要連接到api.development.push.apple.com:443,而不是api.push.apple.com:443。 您都可以使用生產證書。

將推送發送到生產服務器不適用於開發版本-僅適用於通過AppStore配置導出的版本,但您無法調試它們(至少不能使用Xcode進行調試)

如果需要檢查生產端點是否正常工作,可以使用testflight

  1. 從Apple開發人員門戶網站設置開發證書。
  2. 使用生產/測試服務器之一與APNS進行通信。
  3. 如下編輯目標方案:

在此處輸入圖片說明

這將確保當推送通知到達時,控件本身將落入代碼中。 這似乎令人困惑。 但這是它的工作方式:
-在設備上安裝應用,然后從Xcode停止運行過程。
-在didReceiveRemoteNotification上設置一個斷點。
-向設備發送推送通知。
-Xcode本身將啟動應用程序,控件將轉到上述功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM