斯威夫特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会显示出哪些功能在协议中要求下错误:
对于使用Xcode的9人,你可以添加协议STU bs从错误信息。
感谢的提示。我们必须包括在新版本两种新方法和更新UR答案 –
u能考虑投票为我的问题吗?所以它会出现并帮助像我这样面临问题的其他人 –