在代码“使用无法解析的标识符Firestore”中出现错误,但程序可以正常使用SwiftUI

问题描述

我在寻找答案,为什么在代码中出现错误Use of unresolved identifier 'Firestore'。我导入了Firebase,程序运行正常,数据已正确保存,但是无论在何处使用,我仍然会出错

let db = Firestore.firestore()

以前,只有当我清理生成文件夹开始出现时,才不会出现这种问题。

编辑

我忘记添加Podfile pod 'Firebase / Firestore'中有一个条目,并且更新了pods

解决方法

我找到了解决方案,问题出在import Firebase上。需要改用import FirebaseFirestore

,

使用Firebase的iOS项目不再需要Firebase/Core库。因此,对于CocoaPods用户,请从项目的下一个pod文件中省略pod Firebase/Core

显然,有一个错误使import Firebase在Swift文件中已被弃用,但事实并非如此(根据评论者)。无论如何,每个Firebase服务都可以(也许现在应该)手动导入:

import FirebaseFirestore
import FirebaseAuth
import FirebaseMessaging
...

但是,要配置Firebase本身(在App Delegate中),我们必须(至少可以肯定)可以导入FirebaseCore

import FirebaseCore

并且应该注意,通过清洁项目的build文件夹和派生数据文件夹,可以修复切换这些pod和导入的任何其他错误行为。