如何在单个 iOS 项目/应用程序中为发布和调试模式(测试和生产环境)制作不同的 Firebase 数据库?
Posted
技术标签:
【中文标题】如何在单个 iOS 项目/应用程序中为发布和调试模式(测试和生产环境)制作不同的 Firebase 数据库?【英文标题】:How make different Firebase Database for Release and Debug mode(Test and Production environment) in a single iOS project/app? 【发布时间】:2017-05-11 04:59:13 【问题描述】:现在我们正在开发在 ios 应用中使用 Firebase 实时数据库的项目。是否可以在单个 iOS 应用中为发布和调试模式制作不同的 Firebase 数据库?
项目:(具有发布/调试模式的应用)
-
调试模式(测试环境)- Firebase 数据库 1
发布模式(生产环境)- Firebase 数据库 2
为 Firebase 数据库解决这个测试/生产环境的最佳想法是什么?
【问题讨论】:
我认为它可以解决您的问题 ** ***.com/questions/37360919/… ** 此答案适用于 android。我要的是 iOS。 可能有用的帖子here 试试这个firebase.googleblog.com/2017/04/… 【参考方案1】:如果您对 DEBUG 和 Release Build 使用不同的数据库,那么您必须注意以下事项。我认为这不是一个好主意。
1) 相应的 .plist 文件应在项目中。
2) 根据基本 URL 添加/删除。
上述问题的最佳方法。
假设你的 BaseURL 是:https://xxxxxxx.firebaseio.com
对于调试版本:- https://xxxxxxx.firebaseio.com/Debug
对于发布版本:- https://xxxxxxx.firebaseio.com
【讨论】:
【参考方案2】:终于用两个简单的步骤解决了
第 1 步: 将 GoogleService-Info-dev.plist 和 GoogleService-Info.plist 复制到项目工作区。
第2步:只需根据didFinishLaunchingWithOptions中的调试/生产环境更改...-Info.plist即可。
/*
* Here in didFinishLaunchingWithOptions method,
* just change the *...info.plist* file path according to the requirement
*/
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
// DEBUG ENVIRONMENT
//let filePath = Bundle.main.path(forResource: "GoogleService-Info-dev", ofType: "plist")!
// PRODUCTION ENVIRONMENT
let filePath = Bundle.main.path(forResource: "GoogleService-Info", ofType: "plist")!
let options = FIROptions(contentsOfFile: filePath)
FIRApp.configure(with: options!)
return true
【讨论】:
这非常有用,谢谢!它与#if DEBUG
完美结合(在 Xcode 9.4.1(可能更早)中也可以使用,无需手动设置任何标志)。以上是关于如何在单个 iOS 项目/应用程序中为发布和调试模式(测试和生产环境)制作不同的 Firebase 数据库?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ios 中为 nativescript 应用程序调试构建失败?
如何在 iOS5 中为单个 UITabItem 添加背景图像?
如何在 Visual Studio Code 中为 React Native 设置调试?
在 Visual Studio 中为单个解决方案编译和使用多个项目