我正在尝试使用以下命令从我的iOS-Objective-C应用程序发送消息:
NSInteger iTime = [NSDate timeIntervalSinceReferenceDate];
NSString *strID = [NSString stringWithFormat:@"%@%ld", setting.uid, (long)iTime];
NSDictionary *msg = @{@"title": @"My iOS-APP",
@"text": @"Message from the app"};
[[FIRMessaging messaging]sendMessage:msg to:setting.uid withMessageID:strID timeToLive:240];
我的应用正确连接到AppDelegate中的FCM。但是在发送上面的消息时,几分钟后我收到以下错误:
Unable to connect to FCM. Error Domain=com.google.fcm Code=2001 "(null)"
在最后几天搜索我发现了很多建议,但即使应用它们,我也没有成功发送消息。希望有人在那里有同样的问题,并找到了解决方案。
答案 0 :(得分:13)
显示此代码错误2001是因为,当您发送消息时,应用程序已连接到FCM。您正尝试再次连接到FCM,这就是消息的原因。代码的某些部分当您尝试发送消息时,请尝试再次连接。
答案 1 :(得分:0)
更新: 在通知中添加了类:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sendDataMessageFailure:) name:FIRMessagingSendErrorNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sendDataMessageSuccess:) name:FIRMessagingSendSuccessNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didDeleteMessagesOnServer) name:FIRMessagingMessagesDeletedNotification object:nil];
并获得反馈:
NSConcreteNotification 0x15df4f120 {
name = com.firebase.messaging.notif.send-success;
userInfo = {
messageID = ZisMh2OdBsVgjhUlWx9xKnZ3nTk1489164725;
}
}
所以它接收消息发送,现在问题是,如何检索消息,我认为它将作为推送通知发送。