我尝试使用Firebase在我的应用程序中实现推送通知,但是在关注他们的文档时,我必须添加以下代码行:
if #available(iOS 10.0, *) {
let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(options: authOptions, completionHandler: {_, _ in})
UNUserNotificationCenter.current().delegate = self
FIRMessaging.messaging().remoteMessageDelegate = self
} else {
let settings: UIUserNotificationSettings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
}
添加此代码后,应用程序将无法编译,并且会向我发出错误,让我知道我
无法指定类型
AppDelegate
的值FirMessagingDelegate
而我
无法将AppDelegate类型的值指定为type UNUserNotificationCenterDelegate。
很自然地,我将FIRMessagingDelegate
和UNUserNotificationCenterDelegate
添加到我的应用程序中,但是FIRMessagingDelegate
不允许应用程序编译说
类型AppDelegate不符合协议' FirMessagingDelegate'。
有什么想法吗?我还没有设法找到其他人遇到此错误的其他情况,而且在Google的文档中,这两位代表甚至都没有添加。
答案 0 :(得分:6)
你走在正确的轨道上,还有一件事就是让你的AppDelegate类符合'FirMessagingDelegate'协议,通过实现applicationReceivedRemoteMessage
函数某处是你的AppDelegate类,因为'FirMessagingDelegate需要它'此处描述的协议Firebase Doc