如何在单个 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.plistGoogleService-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 中为单个解决方案编译和使用多个项目

在 React Native 中为 iOS 生成调试 IPA

如何在 CListCtrl 中为单个项目加下划线