Firebase无法获取通知令牌

时间:2017-07-03 05:10:12

标签: ios swift firebase firebase-cloud-messaging firebase-notifications

我在使用firebase通知时遇到问题。我收到此错误[Firebase/InstanceID][I-IID003009] Failed to fetch default token Error Domain=com.firebase.iid Code=0 "(null)"我认为导致InstanceID.instanceID().token()nil

我根据thisthis以及thisthis以及this尝试过的事情:

  1. 按照第一和第二链接中的说明多次

  2. 启用钥匙串共享(实际上已启用)

  3. 关闭再打开推送通知功能

  4. 确保捆绑ID与google的plist中的相同(虽然我曾经来回更改)

  5. 将分发和开发证书添加到firebase控制台(.p12)

  6. 使用授权密钥代替证书

  7. 在app delegate中为InstanceIDTokenRefresh键添加观察者

  8. 卸载app,clean,clean build文件夹,清理派生数据目录

  9. 以这两种方式设置APNS令牌,一次一个,一起

    InstanceID.instanceID()。setAPNSToken(deviceToken,type:.unknown) Messaging.messaging()。apnsToken = deviceToken

  10. 立即查询InstanceID.instanceID().token(),延迟25~50秒后。

  11. 设置Messaging.messaging().delegate并实施messaging(:didRefreshRegistrationToken:)

  12. 将代码签名标识值更改为: enter image description here

  13. 也许还有其他我无法记住的事情!!!

1 个答案:

答案 0 :(得分:1)

此项目以不同的名称和捆绑ID(由其他开发人员)启动,而功能部分中设置的钥匙串组是旧捆绑ID。虽然我添加了新的捆绑包ID,但问题仍然存在,直到我从密钥链组列表中删除了旧条目!或者我可以只更改权利文件中的值。

编辑:简而言之,功能屏幕中的组应与权利文件中的组匹配。