我在使用 Firebase 通知时遇到问题。我收到此错误 [Firebase/InstanceID][I-IID003009] Failed to fetch default token Error Domain=com.firebase.iid Code=0 "(null)"
我猜这会导致 InstanceID.instanceID().token()
为 nil
。
我根据 this 尝试过的事情和 this , 和 this和 this和 this :
多次按照第一个和第二个链接中的说明进行操作
启用钥匙串(keychain)共享(实际上已经启用)
关闭和重新打开推送通知功能
确保 bundle id 与 google 的 plist 中的相同(尽管我过去常常来回更改它)
将分发和开发证书添加到 firebase 控制台 (.p12)
求助于身份验证 key 而不是证书
在应用委托(delegate)中为
InstanceIDTokenRefresh
键添加观察者卸载应用程序,清理,清理构建文件夹,清理派生数据目录
以这两种方式同时设置 APNS token ,一次一个,一起设置
InstanceID.instanceID().setAPNSToken(deviceToken, type: .unknown) Messaging.messaging().apnsToken = deviceToken
立即查询
InstanceID.instanceID().token()
,并在延迟 25 ~ 50 秒后查询。设置
Messaging.messaging().delegate
并实现messaging(:didRefreshRegistrationToken:)
也许还有其他我不记得的事情!!!
最佳答案
这个项目是用不同的名称和 bundle ID(由另一位开发人员)开始的,并且在功能部分中设置的钥匙串(keychain)组是旧的 bundle ID。虽然我已经添加了新的包 ID,但问题一直存在,直到我从钥匙串(keychain)组列表中删除旧条目!或者我可以只更改权利文件中的值。
编辑:简而言之,功能屏幕中的组应该与权利文件中的组匹配。
关于ios - Firebase 无法获取通知 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44878171/