如何通过Swift连接到本地Firebase服务器?

侯曼

我真的很想通过利用firebase-server的本地安装来编写一些集成测试,这将模拟实时数据库服务器。

我已经安装它并从CLI启动它:node_modules/.bin/firebase-server -p 5000

但是我很难通过Swift连接到它。按照Firebase的文档,需要下载GoogleService-Info.plist项目中的利用这显然必须更改,因为我想改为连接到本地服务器。

这就是我现在所拥有的AppDelegate.swift

var firebaseConfig: String!
        if isRunningTests() {
            // unit test server (idealy local)
            firebaseConfig = Bundle.main.path(forResource: "GoogleService-Info-tests", ofType: "plist")
        } else {
            #if DEBUG
                // staging server
                firebaseConfig = Bundle.main.path(forResource: "GoogleService-Info", ofType: "plist")
            #else
                // production server
                firebaseConfig = Bundle.main.path(forResource: "GoogleService-Info-prod", ofType: "plist")
            #endif
        }

        guard let options = FIROptions(contentsOfFile: firebaseConfig) else {
            fatalError("Invalid Firebase configuration file.")
        }

        FIRApp.configure(with: options)
        FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
        FIRDatabase.database().persistenceEnabled = true

这意味着对于单元测试,我将加载GoogleService-Info-testsplist并连接到远程测试数据库。我该如何连接ws://test.firebase.localhost:5000对我来说,尚不清楚内部哪些变量options是强制性的,需要提供。

迈克·麦克唐纳

您可以使用该FIROptions init!(googleAppID: String!, bundleID: String!, gcmSenderID GCMSenderID: String!, apiKey APIKey: String!, clientID: String!, trackingID: String!, androidClientID: String!, databaseURL: String!, storageBucket: String!, deepLinkURLScheme: String!)方法,并从真实应用程序中传入AppId,bundleId,SenderID,然后传入databaseURL(可以是本地URL)。您应该能够传递nil给其他人并且很好(尽管您可能必须使编译器警告保持沉默,因为它们在Swift中似乎被标记为不可为空)。

或者,您可以更改一个字段GoogleService-Info-tests.plist以指向新的数据库。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Docker无法通过套接字连接到本地MySQL服务器

通过代理连接到服务器

通过服务器通过SSH隧道连接到本地计算机

如何通过Docker连接到本地MySQL服务器?

使用SSH Tunel时无法通过套接字错误连接到本地MySQL服务器

如何从Docker容器连接到本地Redis服务器

无法通过Apps脚本(JDBC)连接到本地MySQL服务器

通过代理IP连接到Flask本地服务器

如何通过VPN将Azure功能(不是App Service)连接到本地SQL服务器?

R Docker:无法通过套接字连接到本地MySQL服务器

如何使用UnboundID SDK通过SSL服务器证书连接到LDAP服务器?

如何通过代理服务器连接到VPN

无法通过Macbook Pro上的本地IP连接到rumpus服务器

通过无线连接连接到本地ftp服务器

如何通过R连接到远程服务器?

通过本地计算机将服务器连接到Internet

如何从OSX通过SSH连接到Ubuntu服务器?

如何通过FTP连接到FTP服务器

无法通过套接字连接到本地MySQL服务器

如何通过cURL连接到OpenVPN服务器?

运行Rails时无法通过ubuntu中的套接字连接到本地MySQL服务器

如何通过SSH将本地虚拟机连接到远程服务器?

ERROR 2002 (HY000): 无法通过套接字连接到本地 MySQL 服务器

如何通过 Firebase 功能连接到本地服务器

无法通过 app.js 连接到本地 MongoDB 服务器

如何通过 swi prolog 连接到 MongoDB 服务器?

如何使用 safari 从 iPhone 连接到本地服务器?

SSMS18 如何连接到本地服务器?

我的 GAE 本地服务器如何连接到 Firebase 模拟器