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,再次添加这些行并重新安装。 这为我解决了。