我正在尝试让Firebase推送通知在我的iOS应用中正常工作。
我没有使用GoogleService-Info.plist
,因为我需要灵活设置(有时使用多个Firebase源)。
我不是使用FirebaseApp.configure()
而是使用FirebaseApp.configure(name: name, options: firebaseOptions)
来指定通常在GoogleService-Info.plist中找到的相同属性。
首先我在FirebaseApp.configure(name: name, options: firebaseOptions)
中呼叫didFinishLaunchingWithOptions
然后,当我致电Messaging.messaging().delegate = self
时,没有任何设置,因为Messaging.messaging()
返回了uninitialized
。
因此,在之后检查Messaging.messaging().delegate == nil
会返回true。
等待几秒钟甚至尝试didRegisterForRemoteNotificationsWithDeviceToken
都不会初始化Messaging.messaging()。
该怎么办?
我尝试将FirebaseAppDelegateProxyEnabled和FirebaseMessagingAutoInitEnabled都设置为NO。
修改1: 我在日志中也多次收到此错误:
6.24.0 - [Firebase/Core][I-COR000003] The default Firebase app has not yet been configured. Add `[FIRApp configure];` (`FirebaseApp.configure()` in Swift) to your application initialization. Read more: ....
但是,我已经配置了它,但是使用了FirebaseApp.configure(name: name, options: firebaseOptions)
编辑2:现在就可以使用,但是使用FirebaseApp.configure(options: firebaseOptions)
而不是FirebaseApp.configure(name: name, options: firebaseOptions)
似乎是当前版本对Firebase的限制:(