You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Firebase Firestore接入Swift应用 找不到Firestore Manager怎么解决

修复方案

报错根因

你没有在项目中自定义FirestoreManager类,编译器无法识别该类型,才会抛出找不到的错误。Firebase官方SDK本身不提供这个类,它是教程中通常会自定义的、用于封装Firestore读写逻辑的工具类。

具体修复步骤

  • 第一步:新建FirestoreManager.swift文件,写入以下基础代码,你可以基于这个扩展你需要的读写逻辑:
import Foundation
import FirebaseFirestore

// 要继承ObservableObject才能被声明为StateObject注入全局环境
class FirestoreManager: ObservableObject {
    private let db = Firestore.firestore()
    
    // 示例:向recipes集合新增数据
    func addRecipe(name: String, steps: [String], completion: @escaping (Error?) -> Void) {
        db.collection("recipes").addDocument(data: [
            "name": name,
            "steps": steps,
            "createTime": Timestamp(date: Date())
        ]) { error in
            completion(error)
        }
    }
    
    // 示例:读取recipes集合全量数据
    func fetchRecipes(completion: @escaping ([ [String: Any] ]?, Error?) -> Void) {
        db.collection("recipes").getDocuments { snapshot, error in
            guard let docs = snapshot?.documents, error == nil else {
                completion(nil, error)
                return
            }
            completion(docs.map { $0.data() }, nil)
        }
    }
}
  • 第二步(可选简化):如果你不想用AppDelegate,可以直接删除AppDelegate相关代码,在App结构体的init方法中完成Firebase初始化,简化后的启动代码如下:
import SwiftUI
import Firebase

@main
struct RecipyApp: App {
    @StateObject var firestoreManager = FirestoreManager()
    private let viewModel = AppViewModel()

    init() {
        FirebaseApp.configure()
    }
    
    var body: some Scene {
        WindowGroup {
            ContentView()
                .environmentObject(viewModel)
                .environmentObject(firestoreManager)
        }
    }
}
  • 第三步:确认依赖导入正确,打开项目的Package Dependencies配置,确认导入Firebase库时已经勾选了FirebaseFirestore产品。
  • 第四步:按Command+Shift+K清理Xcode编译缓存,再重新运行项目即可解决报错。

内容的提问来源于stack exchange,提问作者Elliot Silva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 01:36:08