有没有办法在 Kotlin Multiplatform 中使用 Firebase(身份验证)?
Is there a way to use Firebase (Authentication) with Kotlin Multiplatform?
我有一个项目在 Android 中使用 Firebase 身份验证。它运行良好,我想将同一个项目移植到 iOS 使用与 Kotlin Multiplatform 共享代码的应用程序。
我最初以为我可以简单地创建一个
expect class FirebaseAuth
和
//AndroidMain
actual class FirebaseAuth
//iOSMain
actual class FirebaseAuth
但我真的不知道如何在 iOSMain 中使用 iOS 版本的 FirebaseAuth?有人可以指导我吗?
注意:这是一个旧答案。查看 https://github.com/gitliveapp/firebase-kotlin-sdk/ 以获得合理维护的库。
我做了一个关于 KMP 库的演讲,并专门围绕 Firestore 构建了一个包装器来配合它。
https://github.com/touchlab/FirestoreKMP
在那个库中,我创建了扩展函数来实现特性。你的问题有点宽泛,但我可能会从以下开始:
//common
expect fun FirebaseAuth.signIn(email:String, password:String):Task<AuthDataResult>
//ios main
actual fun FirebaseAuth.signIn(email:String, password:String):Task<AuthDataResult> = signInWithEmail(email, password) //Figure out async return value
异步 return 内容可能有点棘手,但 firestore 代码会有示例。这里有一个:
我正在为 Kotlin Multiplatform 构建和发布 Firebase Wrappers!
请记住,只有 JS、JVM 和 iOS 之间的公共 API 可用。
从现在开始,有一个关于 Kotlin Multiplatform firebase 产品的新官方库。支持的平台是 Android、iOS 和 JavaScript。
https://firebaseopensource.com/projects/gitliveapp/firebase-kotlin-sdk/
我有一个项目在 Android 中使用 Firebase 身份验证。它运行良好,我想将同一个项目移植到 iOS 使用与 Kotlin Multiplatform 共享代码的应用程序。
我最初以为我可以简单地创建一个
expect class FirebaseAuth
和
//AndroidMain
actual class FirebaseAuth
//iOSMain
actual class FirebaseAuth
但我真的不知道如何在 iOSMain 中使用 iOS 版本的 FirebaseAuth?有人可以指导我吗?
注意:这是一个旧答案。查看 https://github.com/gitliveapp/firebase-kotlin-sdk/ 以获得合理维护的库。
我做了一个关于 KMP 库的演讲,并专门围绕 Firestore 构建了一个包装器来配合它。
https://github.com/touchlab/FirestoreKMP
在那个库中,我创建了扩展函数来实现特性。你的问题有点宽泛,但我可能会从以下开始:
//common
expect fun FirebaseAuth.signIn(email:String, password:String):Task<AuthDataResult>
//ios main
actual fun FirebaseAuth.signIn(email:String, password:String):Task<AuthDataResult> = signInWithEmail(email, password) //Figure out async return value
异步 return 内容可能有点棘手,但 firestore 代码会有示例。这里有一个:
我正在为 Kotlin Multiplatform 构建和发布 Firebase Wrappers!
请记住,只有 JS、JVM 和 iOS 之间的公共 API 可用。
从现在开始,有一个关于 Kotlin Multiplatform firebase 产品的新官方库。支持的平台是 Android、iOS 和 JavaScript。
https://firebaseopensource.com/projects/gitliveapp/firebase-kotlin-sdk/