Ios “如何修复此错误消息”;请实施-消息传递:didReceiveRegistrationToken:将提供FCM令牌;
我使用爱奥尼亚Ios “如何修复此错误消息”;请实施-消息传递:didReceiveRegistrationToken:将提供FCM令牌;,ios,ionic4,xcode10,ionic-native,Ios,Ionic4,Xcode10,Ionic Native,我使用爱奥尼亚4和FCM来获取通知,在android上一切都很好,但在iOS上却不行。我在xcode控制台上看到了这条消息 “5.7.0-[Firebase/Messaging][I-FCM002023]对象未响应 -消息:didReceiveRegistrationToken:。请实现-消息:didReceiveRegistrationToken:将随FCM令牌一起提供” 该消息基本上意味着您的firmMessageDelegate应实现以下方法,以便能够通过Firebase接收fcmToke
4
和FCM
来获取通知,在android上一切都很好,但在iOS上却不行。我在xcode
控制台上看到了这条消息
“5.7.0-[Firebase/Messaging][I-FCM002023]对象未响应
-消息:didReceiveRegistrationToken:。请实现-消息:didReceiveRegistrationToken:将随FCM令牌一起提供”
该消息基本上意味着您的firmMessageDelegate应实现以下方法,以便能够通过Firebase接收fcmTokenfcmToken通常用作收件人标识,即您希望向谁发送邮件
- (void)messaging:(FIRMessaging *)messaging didReceiveRegistrationToken:(NSString *)fcmToken;
例如,您有一个FirebaseMessagingManager类,它与Firebase消息传递一起工作,然后您可以通过以下方式实现它:
#import <Foundation/Foundation.h>
#import <Firebase/Firebase.h>
@interface FirebaseMessagingManager : NSObject<MessagingDelegate>
- (void)messaging:(FIRMessaging *)messaging didReceiveRegistrationToken:(NSString *)fcmToken {
NSLog(@"FCM registration token: %@", fcmToken);
}
@end
#导入
#进口
@接口FirebaseMessagingManager:NSObject
-(void)消息传递:(firmMessageing*)消息传递didReceiverRegistrationToken:(NSString*)fcmToken{
NSLog(@“FCM注册令牌:%@”,fcmToken);
}
@结束
将此方法添加到appdelegate
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
// let deviceTokenString = deviceToken.reduce("", {$0 + String(format: "%02X", $1)})
UserDefaults.standard.set(deviceToken, forKey: "devToken")
UserDefaults.standard.set(deviceToken, forKey: "devTokenString")
在检查了关于这个问题的漏洞之后,我找到了IOS 12+的解决方案。 您只需在ios部分的config.xml中添加以下行:
<config-file parent="UIBackgroundModes" target="*-Info.plist">
<array>
<string>remote-notification</string>
</array>
另外,不要忘记通过调用Firebase.grantPermission()请求通知权限代码>如果您需要更多详细信息,请告诉我您找到解决方法了吗?我也有同样的问题!我在firmMessage.h中已经有了这个方法,有没有可能是其他原因导致了这个错误?.h没有提供实现。您必须自己编写此方法的代码。我应该在哪里编写它?作为您的firmMessageDelegate
实现的一部分。如果您已经有此方法,请尝试在发出请求之前先验证您是否已收到设备令牌。