我在使用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尝试过的事情:
按照第一和第二链接中的说明多次
启用钥匙串共享(实际上已启用)
关闭再打开推送通知功能
确保捆绑ID与google的plist中的相同(虽然我曾经来回更改)
将分发和开发证书添加到firebase控制台(.p12)
使用授权密钥代替证书
在app delegate中为InstanceIDTokenRefresh
键添加观察者
卸载app,clean,clean build文件夹,清理派生数据目录
以这两种方式设置APNS令牌,一次一个,一起
InstanceID.instanceID()。setAPNSToken(deviceToken,type:.unknown) Messaging.messaging()。apnsToken = deviceToken
立即查询InstanceID.instanceID().token()
,延迟25~50秒后。
设置Messaging.messaging().delegate
并实施messaging(:didRefreshRegistrationToken:)
也许还有其他我无法记住的事情!!!
答案 0 :(得分:1)
此项目以不同的名称和捆绑ID(由其他开发人员)启动,而功能部分中设置的钥匙串组是旧捆绑ID。虽然我添加了新的捆绑包ID,但问题仍然存在,直到我从密钥链组列表中删除了旧条目!或者我可以只更改权利文件中的值。
编辑:简而言之,功能屏幕中的组应与权利文件中的组匹配。