gpt4 book ai didi

ios - 在 iOS 上运行时更改 Firebase 配置

转载 作者:可可西里 更新时间:2023-11-01 06:01:35 69 4
gpt4 key购买 nike

对于我的项目,我有 2 个环境:

  • 测试
  • 产品

和 2 个本地化:

  • zh
  • tr

以及每个组合的应用程序:(这些名称不反射(reflect) Firebase 项目 ID)

  • test_cn
  • test_tr
  • 产品
  • prod_tr

我为项目中的每个应用程序都有一个单独的 plist 文件,名称为 Firebase-(app_type).plistFirebase-test_en.plistFirebase-prod_en.plist

我正在使用这种方式初始化 FIRApp:

private func ensureLoaded() {
let options = FIROptions(contentsOfFile: Bundle.main
.path(forResource: "Firebase-\(firebaseApplicationName)", ofType: "plist"))!

if nil == FIRApp(named: firebaseApplicationName) {
FIRApp.configure(withName: firebaseApplicationName, options: options)
}
}

它似乎工作正常,直到我尝试实际连接到 firebase 数据库,它说:

Firebase is not configured correctly, please call [FIRApp configure]

所以我的问题是,如何让 firebase 在我想动态更改配置的地方工作?还有一些其他问题描述了如何根据某些环境变量/编译器标志更改配置,但它们都指的是更改 plist 文件,这会在构建时更改配置,但我想更改它在运行时动态地。它是否完全受支持,有没有办法让它发挥作用?

提前致谢。

最佳答案

我发现了问题所在,我们在应用程序的某处使用了 FIRApp.auth().currentUser,它返回“默认”应用程序的身份验证,并且由于我们有多个配置,所以我们有没有“默认”应用程序的概念,因此配置不完整。我将其更改为 FIRAuth(app: myApp)?.currentUser 并且它现在按预期工作。

关于ios - 在 iOS 上运行时更改 Firebase 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43718551/

69 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com