【问题标题】:Cannot import Firebase or FirebaseDatabase into multiple classes in iOS无法将 Firebase 或 FirebaseDatabase 导入 iOS 中的多个类
【发布时间】:2017-03-13 22:36:35
【问题描述】:

我已经使用CocoaPods 将 Firebase 和 FirebaseDatabase 安装到我的项目中,正如他们在网站上描述的那样。在一个 ViewController 上,我导入了 FirebaseDatabase,那里的一切似乎都很好,但是当我尝试将 FirebaseDatabase 导入另一个类时,它开始出现故障并在两个类中引发编译器错误。

例如,如果我将 FirebaseDatabase 导入到ViewController1,则一切正常:

import UIKit
import FirebaseDatabase

class ViewController1: UIViewController {
    let classRef = FIRDatabase.database().reference().child("SomeClass")
    ...
}

但是,如果我使用相同的代码将它导入到 1 个或多个其他类,它会引发如下错误:
Use of unresolved identifier 'FIRDatabase'
以及与 FirebaseDatabase 相关的其他类型或函数。
有时也会抛出:Command failed to due signal: Segmentation fault: 11
如果我尝试从其他类中删除导入语句,它仍然会出现故障一段时间,我必须构建项目几次,直到它构建成功。

我注意到的另一件事是,当我尝试导入 Firebase 模块时,如果我已经在其他类中导入过一次,模块将显示为带有删除线,如下所示:(如果重要的话)

我已经尝试重新安装 pod 并清理 DerivedData 文件夹,但没有任何帮助。
可能是什么问题?

【问题讨论】:

  • 如果您只是导入 Firebase,而不是专门导入数据库,它应该可以正常工作。 Firebase 是您应该需要的唯一导入。
  • @SeanRobinson159 我也试过了,似乎对我不起作用..
  • 你的 Podfile 是什么样的?只是到达这里,因为这是一个奇怪的问题。
  • @Mitley 您只能在这两个地方尝试使用 import Firebase。在第一个视图控制器中您可以保持不变,在开始破坏 Xcode 的第二个视图控制器中,通过 FIRApp 而不是直接通过 FIRDatabase 引用数据库。
  • 我遇到了同样的问题。你解决了吗?

标签: ios xcode firebase firebase-realtime-database


【解决方案1】:

确保您在 xcworkspace 中工作时创建了文件(cocoa touch / 等)。如果您在常规 xcodeproj 中工作,那么 cocoapod 不会翻译

【讨论】:

    【解决方案2】:

    我不知道你是否解决了这个问题,但如果没有,试试这个:

    确保第二个视图控制器,在你的情况下,我假设 viewcontroller2,唯一的目标成员是“应用程序”本身(你可以在右侧的实用工具栏中找到它)。

    换句话说,当你添加一个新的 typer “Cocoa Touch class”文件时——就在它要求你为你的类、子类和语言选择名称的步骤之后——它会询问你要保存它的位置并您要定位的对象(您通常有 3 个复选框,只选择了您的应用程序 - 如果以这种方式离开,则不要检查其他任何内容);您的“app”、“app”Tests 和“app”UITests。确保只有您的“app”作为目标成员,没有其他内容。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-16
      • 1970-01-01
      • 1970-01-01
      • 2020-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-07
      相关资源
      最近更新 更多