斯威夫特AppDeligate不符合协议“MessagingDelegate”

问题描述:

使用Swift2.3和Xcode的8
我升级到火力地堡的版本4斯威夫特AppDeligate不符合协议“MessagingDelegate”

我也跟着在新版本中所有提到的变化 https://firebase.google.com/docs/reference/ios/naming-migration-guide#changes_in_the_new_version

史迪威我得到一个错误说

类型 '的AppDelegate' 不符合协议 'MessagingDelegate'

我不知道这个方法改变了什么或者我需要添加哪个新方法。 好心帮我

class Appdelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate, MessagingDelegate 
{ 
    func application(remoteMessage: MessagingRemoteMessage) 
    { 
     let remoteMsgVar = remoteMessage.appData 
     print("remoteMessage : ", remoteMsgVar) 
    } 
} 

为了顺应MessagingDelegate协议,你必须包括功能:

func messaging(messaging: Messaging, didRefreshRegistrationToken fcmToken: String) 
{ 

} 

/// This method is called on iOS 10 devices to handle data messages received via FCM through its 
/// direct channel (not via APNS). For iOS 9 and below, the FCM data message is delivered via the 
/// UIApplicationDelegate's -application:didReceiveRemoteNotification: method. 
@available(iOS 10.0, *) 
func messaging(messaging: Messaging, didReceive remoteMessage: MessagingRemoteMessage) 
{ 
    let FcmRcdNfnNryVal = remoteMessage.appData 
    print("iOS 10.0 FcmRcdRmtNfnMsg : ", FcmRcdNfnNryVal) 

} 

以供将来参考,Xcode中8会显示出哪些功能在协议中要求下错误:

rom

对于使用Xcode的9人,你可以添加协议STU bs从错误信息。

AppDelegate

+0

感谢的提示。我们必须包括在新版本两种新方法和更新UR答案 –

+0

u能考虑投票为我的问题吗?所以它会出现并帮助像我这样面临问题的其他人 –