iOS10,Swift 3和FCM委托错误

我收到错误:

"Value of type FIRMessaging has no member 'remoteMessageDelegate'" on FIRMessaging.messaging().remoteMessageDelegate = self 

我从FCM设置指南中获取这个代码片段:

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. if #available(iOS 10.0, *) { let authOptions : UNAuthorizationOptions = [.alert, .badge, .sound] UNUserNotificationCenter.current().requestAuthorization( options: authOptions, completionHandler: {_,_ in }) // For iOS 10 display notification (sent via APNS) UNUserNotificationCenter.current().delegate = self // For iOS 10 data message (sent via FCM) FIRMessaging.messaging().remoteMessageDelegate = self //Get error on this line } else { let settings: UIUserNotificationSettings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil) application.registerUserNotificationSettings(settings) application.registerForRemoteNotifications() } 

我有同样的问题。 看起来Google文档是最新的,我看了一下Cocoapods Firebase Messaging页面,然后我解决了更新terminal内的cocoapods回购的问题:

 pod repo update 

然后replace我的Podfile中的以下行:

 pod 'Firebase/Core' pod 'Firebase/Messaging' 

附:

  pod 'Firebase', '~> 3.7' pod 'FirebaseMessaging', '~> 1.2' pod 'FirebaseAnalytics', '~> 3.3' 

这将下载FirebaseMessaging 1.2而不是1.1

在控制台中运行:

 pod update 

你需要更新你的cocoapod版本

尝试更新版本的cocoapod到最新的terminal应用程序

 sudo gem update 

更新到最新的cocoapod更新你的豆荚

 pod update 

如果您不想更新所有窗格,则只需更新这些Firebase窗格即可

从CocoaPods 1.0开始,'pod repo udpate'在默认的'pod install'上不会发生

 pod update 'Firebase/Core' pod update 'Firebase/Database' pod update 'Firebase/Auth' pod update 'Firebase/Messaging' 

所以你需要从podfile中删除行:

 pod 'Firebase/Core' pod 'Firebase/Messaging' 

然后安装pod,再次添加这些行并重新安装。 这为我解决了。