在原生 iOS 和 Flutter 中初始化和使用 Firestore

jbo*_*oot 5 ios firebase flutter google-cloud-firestore

我们的应用程序是为 iOS 和 Android 开发的,具有单独的代码库,我们希望开始使用 Flutter 来实现更快速的开发。我们已经在本机代码中使用 Firebase SDK 来实现各种服务,例如身份验证、FCM 和 Firestore。我们开发了一个 Flutter 模块,它基本上使用相同的 Firebase 功能,利用 Firebase Flutter 插件。这对于 Android 来说一切都很好,但 iOS 则完全不同。

当我打开应用程序并导航到 Flutter 屏幕时,应用程序崩溃并出现以下异常:

由于未捕获的异常“FIRIllegalStateException”而终止应用程序,原因:“Firestore 实例已启动,且无法再更改其设置。” 您只能在调用 Firestore 实例上的任何其他方法之前设置设置。

事实上,GitHub 上的这个已关闭问题描述了完全相同的问题。维护人员建议仅在 Flutter 中执行所有 Firestore 操作。这给我们带来了一个问题,因为我们已经在本机代码中拥有如此多的功能,并且在我们开始集成第一个 Flutter 屏幕之前可能需要进行大量重构。

所以,我认为我的问题由两部分组成:

  1. 是否可以在本机 iOS (Swift UI) 和 Flutter 中初始化和使用 Firestore(以及其他 Firebase 功能)?
  2. 如果没有,是否有一种低成本的解决方案来创建从本机到 Flutter 代码的适配器来执行 Firestore 操作?