gpt4 book ai didi

ios - Swift macOS Firebase

转载 作者:行者123 更新时间:2023-12-04 13:39:23 24 4
gpt4 key购买 nike

我有一个启用了 Firebase 的 IOS 应用程序。
现在我正在尝试向这个项目添加一个 macOS swift 应用程序,但我不知道如何去做。
(我知道有一个选项可以将 IOS 应用程序移植到 macOS,但我想要 两个具有不同功能的独立应用程序 ,一个用于 IOS,一个用于 macOS)
Firebase Admin 中没有选项(据我所知)来添加 macOS 应用程序,因此我在 Firebase Admin 中创建了一个新的 IOS 应用程序并尝试使用 macOS 应用程序项目进行设置。 (很可能这是我整个问题的问题)
当我运行我的 macOS 项目时,我在 AppDelegate 中收到这些错误:

The default Firebase app has not yet been configured. Add [FIRApp configure]; (FirebaseApp.configure() in Swift) to your application initialization.

An uncaught exception was raised

Failed to get FirebaseApp instance. Please call FirebaseApp.configure() before using Firestore

Terminating app due to uncaught exception 'FIRIllegalStateException', reason: 'Failed to get FirebaseApp instance. Please call FirebaseApp.configure() before using Firestore'


虽然我用过 FirebaseApp.configure()在我的 applicationDidFinishLaunching .
我也导入了每个 pod ,但没有任何帮助。
pod 'Firebase'
pod 'Firebase/Core'
pod 'Firebase/Analytics'
pod 'Firebase/Auth'
pod 'FirebaseDatabase'
pod 'Firebase/ABTesting'
pod 'Firebase/Database'
pod 'Firebase/Firestore'
pod 'FirebaseFirestore'
pod 'Firebase/Functions'
pod 'Firebase/Messaging'
pod 'Firebase/RemoteConfig'
pod 'Firebase/Storage'
我的问题是我可能做错了什么?
或者 Firebase 不支持 macOS 应用程序?
如果是,那么我如何将现有的 Firebase IOS 项目与新的 macOS Swift 应用程序一起使用?

最佳答案

Sipos Péter 的回答很好,这里有一些额外的提示。

另一个答案中的 podfile 是正确的。但是,macOS 应用程序的加载顺序是不同的,因此为了稳定性,您需要在顺序中更早地使用 Firebase 代码。

因此,AppDelegate 中不需要 firebase 代码。将该代码移动到主 viewControllers viewDidLoad 函数并创建一个类 var 以引用 Firebase。像这样:

var ref: DatabaseReference!

override func viewDidLoad() {
super.viewDidLoad()

FirebaseApp.configure() //set up Firebase

//a class reference to your firebase, This is optional but saves typing
self.ref = Database.database().reference()

let version = Database.sdkVersion() //print out the sdk if needed
print("Firebase Version \(version)") //just prints the current Firebase version

self.authToFirebase() //your function to handle auth'ing this user

//continue app setup
self.myTableView.dataSource = self
self.myTableView.delegate = self
}

关于ios - Swift macOS Firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59805273/

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