当我尝试为我的macOS应用程序运行模拟器时,它使用Firebase,它给出了这个错误:“线程1:“必须先配置默认FirebaseApp示例,然后才能初始化默认Authinstance。确保这一点的一种方法是在App Delegate的application(_:didFinishLaunchingWithOptions:)
(或SwiftUI中@main
结构的初始化程序)中调用FirebaseApp.configure()
。”我注意到这是在创建环境对象之后发生的。
下面是我的代码:
import SwiftUI
import FirebaseCore
@main
struct testagainApp: App {
@NSApplicationDelegateAdaptor(AppDelegate.self) var delegate
var body: some Scene {
WindowGroup {
let viewModel = AppViewModel()
ContentView()
.environmentObject(viewModel)
}
.windowStyle(HiddenTitleBarWindowStyle())
}
}
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(_ notification: Notification) {
FirebaseApp.configure()
}
}
如果我去掉let viewModel = AppViewModel()和.environmentObject(viewModel),模拟器运行得很好。如果我先把app委托放在前面,模拟器运行但什么都没有出现。我是Swift的新手,不确定如何修复这个问题。
2条答案
按热度按时间ckx4rj1h1#
**选项1:**我不久前遇到了同样的问题,然后注意到我没有将
GoogleService-Info.plist
文件添加到项目,如果您看到它已经添加,那么最好删除它,并通过Xcode再次添加到项目。希望这能解决你的问题。
**选项2:**确保您的应用程序中没有链接两个以上的Firebase副本。如果有,您可以删除一个。请参阅the Firebase iOS SDK上的此文档了解更多详细信息。
ddarikpa2#
我解决了这个问题。我没有使用App Delegate,而是将init(){ FirebaseApp.configure()}放在顶部的主结构体中。