我正在尝试在 Kotlin 多平台项目上实现 Firebase 云消息传递。除了 iOS 部分之外,一切都很顺利。
我有一些共享代码:
expect suspend fun getFCMToken(): String?;
在 Android 项目中,我使用
actual
进行正确的实现并且它有效。对于 iOS 代码,在 iosApp
内部,我正确设置了所有内容,我添加了以下实现:
@objc static func getFCMToken() -> String? {
return Messaging.messaging().fcmToken
}
但是,我一直在尝试让共享代码正常工作并调用本机 Swift 代码,但没有成功。
我尝试将函数放入一个类中,并在
iosMain
kotlin 代码中调用该类。我尝试过桥接标头。两人都没有运气。
我会让你省去三个星期的时间,免得你像我一样把头撞到墙上。
https://github.com/GitLiveApp/firebase-kotlin-sdk
如果您需要 GitLive 的 Firebase Cloud Messaging API 中未覆盖的功能之一(其中 90% 未覆盖),我只需参考 他们如何实例化 Cloud Messaging 库。