ios - 是否有任何安全的方法可以在运行时删除和重新配置 Firebase 应用程序
问题描述
我需要根据情况将我的应用程序分析发送到两个 firebase 项目。所以我需要删除在第一次运行时配置的以前的应用程序,以配置新的应用程序。
我创建了 FirebaseOptions 实例以在不同情况下进行配置
if summit {
let summitFireBaseConfigFile = Bundle.main.path(forResource: "summit-google-service", ofType: "plist")
let firOptions = FirebaseOptions(contentsOfFile: summitFireBaseConfigFile!)
FirebaseApp.configure(options: firOptions)
}
else {
let goFireBaseConfigFile = Bundle.main.path(forResource: "go-google-service", ofType: "plist")
let firOptions = FirebaseOptions(contentsOfFile: goFireBaseConfigFile!)
FirebaseApp.configure(options: firOptions)
}
每当我尝试重新配置 Firebase 应用程序时,应用程序就会崩溃。所以我需要删除已经初始化的应用程序然后只重新配置新的`
解决方案 我已经通过删除第一个初始化的 Firebase 应用程序然后配置新的来解决它。
let filePath = Bundle.main.path(forResource: "GoogleService-Info-summit-tagatay", ofType: "plist")
guard let fOptions = FirebaseOptions(contentsOfFile: filePath!)
else
{
assert(false, "Couldn't load config file")
return
}
if (FirebaseApp.app() != nil){
FirebaseApp.app()?.delete({response in
FirebaseApp.configure(options: fOptions)
})
}else {
FirebaseApp.configure(options: fOptions)
}
解决方案
推荐阅读
- ocaml - 生成 ocaml AST 时使用的 Config.ast_impl_magic_number 是什么
- vue.js - 使用 vue.js 进行属性绑定
- css - 在 TYPO3 8.7 中是否可以为任何内容元素提供自定义 CSS 类?
- node.js - 使用 Google App Engine 将大文件上传到 Google Cloud Storage
- arrays - 在Scala中将数组的每个元素与一个数字相乘的最快方法
- regex - 使用 Parallel.ForEach 将每个字符替换为大写
- reactjs - 在反应中,我们需要为每个组件单独的减速器。?
- python - 我可以使用来自异步 websocket 客户端功能的 Django 模型写入数据库吗?
- c# - 收集猜4位数字游戏的正确数量
- html - 我的表格的右边界没有在我最后一列的边界处结束