我使用FirebaseInstanceID框架来获取令牌。
目前的执行情况如下:
InstanceID.instanceID().token(withAuthorizedEntity: <GCM_SENDER_ID>, scope: "GCM", options: nil) { (token, error) in
}我唯一的要求是从Firebase获得令牌,只用于身份验证。
上面的实现不需要添加GoogleService-Info.plist和任何其他框架。
问题是,Google已经反对GCM.。
如果我将作用域从"GCM"更改为"FCM",它将返回一个错误1001。另外,如果我将withAuthorizedEntity从<GCM_SENDER_ID>更改为<PROJECT_ID>,则会出现错误1001。
那么,是否有任何方法,使用FCM来获取令牌?因为,我没有发送推送通知的任何其他要求。提亚
发布于 2019-02-14 14:59:36
我认为您可以尝试使用文档以正确的方式迁移,但在本例中,您应该添加GoogleService-Info.plist和必需的框架。
根据错误代码,问题是在获取APNS令牌时会导致Firebase失败,这意味着您应该在接收到APNS令牌后设置APNS令牌以获得FCM令牌。你有两种方法可以做到这一点:
Messaging.messaging().apnsToken = deviceToken内部func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {}Swizzling method这个答案不会帮助你以你想要的方式修复它,但是如果你想尽快修复它,你可以尝试这样的选项。
希望它能以正确的方式指引你。
补充:
除非需要启用多个发件人,否则不要调用.getToken(authorizedEntity,scope)。使用instanceIDWithHandler:代替。
https://stackoverflow.com/questions/54547522
复制相似问题