簡體   English   中英

證書有效時 InvalidApnsCredential

[英]InvalidApnsCredential while certificates are valid

我正在嘗試向我的推送通知測試應用程序發送消息。 幾周前,它一直在對同一個應用程序進行概念驗證,但現在不再進行了。

我失敗了:InvalidApnsCredential 和 Firebase 告訴我們: “無法發送針對 iOS 設備的消息,因為所需的 APNs SSL 證書未上傳或已過期。檢查您的開發和生產證書的有效性”

但是當我檢查我的 firebase 控制台時,它告訴我開發和生產證書的有效期還有 9 個月。

還有什么可能導致此消息?

如果其他人也面臨這個問題,這里有一些提示:

  1. 每當您遇到通知問題時,請嘗試通過 Firebase 提供的 GUI 控制台發送推送以發送通知

  2. 如果您在 Appstore 上的實時應用沒有收到推送通知,而是僅在通過 Xcode 運行時收到通知,那么您還沒有將生產證書上傳到 Firebase 控制台

  3. 如果您已上傳生產和開發證書,但仍未收到通知,請下載最新證書並再次上傳到 firebase 控制台

在 Firebase 中添加團隊 ID 對我有用。

Firebase 控制台 -> 常規 -> 選擇您的應用 -> 添加團隊 ID

您可以在 Apple 開發者門戶中找到團隊 ID:

https://developer.apple.com/account/#/membership

在上傳 .p8 文件(APNs 身份驗證密鑰)的情況下,添加正確的密鑰 ID 對我有用。

當您從 Apple 下載 .p8 文件時。 文件名的格式為 AuthKey_XXXXXXXXXX.p8。 10 位數字(AuthKey_ 后標記為 XXXXXXXXXX)是您需要添加的 Key ID。 請參考圖片

我遇到了這個問題,即使我的 APNs 令牌是最新的等等,我也一直在努力尋找解決方案。我在 IOS 之前在 android 上以及在https://iid.googleapis.com/iid "application": com.android name POST 方法上進行測試"application": com.android name而不是 IOS 捆綁 ID。 只是我這邊的一個愚蠢的錯誤。

這可能會讓您感到痛苦,但 Firebase 雲消息傳遞系統似乎不喜歡 bundleID 中的破折號。 我有一些類似 my.app.bundle-y 的東西,我在郵遞員那里收到了 InvalidAPNSCredential 消息......我最終嘗試將我的包 ID 更改為 my.app.bundle,但其他一切都失敗了,並且通知開始通過。

這是非常嚴重的變化,只有在應用程序尚未部署時才真正合理。

如果所有其他方法都失敗了並且您的包 ID 中有一個破折號,那么也許可以試一試。

在我的情況下,我上傳了帶有錯誤密鑰 ID 的.p8 密鑰,雙重檢查您的“APNs 身份驗證密鑰”並確保您擁有具有正確密鑰 ID 和團隊 ID 的正確文件

Xcode“Bundle Identifier”必須與 Firebase 中配置的一致。

在 Firebase 中:項目設置 > 您的應用程序 > Apple 應用程序

在 Xcode 中:您的項目 > 目標 > 常規選項卡 > 捆綁包標識符

就我而言,Apn.p8 文件已從 Firebase 控制台中刪除(我不知道為什么::|)
我之前有過,直接上傳,問題就解決了。 但如果你沒有它,你可以從
Apple developer account -> Certificates -> Keys -> Add new key並從服務中檢查Apple Push Notifications service (APNs) ,然后下載並上傳
Firebase -> App setting -> Cloud Messaging -> Apple app configuration -> APNs Authentication Key

暫無
暫無

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

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