Firebase 云消息传递 - iOS - 未注册或无法订阅主题

Posted

技术标签:

【中文标题】Firebase 云消息传递 - iOS - 未注册或无法订阅主题【英文标题】:Firebase Cloud Messaging - iOS - notregistered or cannot subscribe to topic 【发布时间】:2017-07-03 19:04:25 【问题描述】:

在与 Firebase Cloud Messaging 苦苦挣扎了几个小时后,我发现了问题并想在这里发帖,因为我之前找不到答案。

我的问题是:我正在使用 Firebase 云消息传递,并且在订阅主题和接收消息时遇到了很多麻烦。尝试直接向设备发送消息时,我经常会收到“未注册”错误,订阅主题时无法订阅主题 Error Domain=com.google.fcm Code=0 "(null)"。

【问题讨论】:

【参考方案1】:

原来,答案很简单。该应用程序最初是通过 TestFlight 安装的,然后我从 XCode 安装了 OVER。我只是从设备上完全卸载了该应用程序,然后通过 XCode 安装,一切都很好。

【讨论】:

【参考方案2】:

很抱歉回答你,尽管你已经没有问题了。

据我所知,这种错误通常是由应用程序引起的,并没有完全配置到 FCM。

在调用FirebaseApp.configure() 后,我无法立即订阅或获取令牌,这需要一些时间。所以,等待一秒钟,实际上是一秒钟,解决了这个问题。

sleep(1)

请注意,您要暂停到哪个线程。

之后,应用每次向后端发送请求,令牌都准备就绪,并成功订阅了所需的主题。

【讨论】:

【参考方案3】:

对我来说,这可以解决 NotRegistered 错误:

    在 xCode 中打开我的项目 用Project navigator点击我的项目名称 点击Capabilities标签 开启推送通知

This comment 来自 GitHub 帮助我解决了这个问题。显然,xCode 的某些时间/版本不听您在配置文件中指定的权利,因此您必须在 xCode 中手动设置它。

【讨论】:

以上是关于Firebase 云消息传递 - iOS - 未注册或无法订阅主题的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 云消息传递 - iOS 徽章

Flutter - Firebase 云消息传递,iOS 上未收到数据消息

Firebase 云消息传递 - PHP Rest API 不适用于 iOS

无法将iOS CriticalAlert发送到Firebase云消息传递

IOS Firebase 云消息传递“InvalidApnsCredential”

iOS 未收到来自 Firebase 云消息传递的通知