无法将 Firebase 导入 Swift 类

Posted

技术标签:

【中文标题】无法将 Firebase 导入 Swift 类【英文标题】:Cannot Import Firebase Into Swift Class 【发布时间】:2016-03-16 21:26:10 【问题描述】:

我对 Firebase 和构建 ios 应用程序完全陌生。在 Xcode 7 中,我试图将 Firebase 导入到我的 Swift 类中。在一个 swift 文件中,我输入了“import Firebase”。

我收到一条错误提示

“没有这样的模块'Firebase'”

任何帮助将不胜感激。

【问题讨论】:

您是如何安装 Firebase SDK 的?手动还是 CocoaPods? 我一直在使用 CocoaPods。即使在回答之后我仍然遇到问题。 如果您有多个目标,请确保将 pod 添加到所有目标中。这就是我的错误。 【参考方案1】:

对我来说是这样的:

该框架现在称为 FirebaseAnalytics 而不是 Firebase。

官方文档甚至有这个错误。

因此,在使用 CocoaPods(Firebase 版本 3.4.0)安装后,它可以工作:

import FirebaseAnalytics

【讨论】:

谢谢。这确实为我解决了。我关注的是官方的,只是想让我导入 Firebase。赞成 这取决于您要导入的子框架。如果您使用的是数据库,则称为 import Firebase 对于最新的 Firebase,import FirebaseCore 如果使用 MacOS pod,可以确认它是导入 FirebaseCore【参考方案2】:

有两种方法可以安装 Firebase:手动安装和使用 CocoaPods。

我推荐使用 CocoaPods。在您的Podfile 中,确保指定use_frameworks!

platform :ios, "9.0"
use_frameworks!

target 'MyProject' do
 pod 'Firebase'
end

那么在你pod install打开MyProject.xcworkspace之后,你应该可以使用import Firebase了。

杰伊编辑:

如果您的目标是 OS X,您的 pod 文件可能看起来更像这样

platform :osx, '10.10'
use_frameworks!

target 'MyProject' do
  pod 'FirebaseOSX', '>= 2.4.2'
end

【讨论】:

我还是有问题。我尝试使用您的 Podfile,但仍然无法使用 import Firebase 你能发布你的 Podfile 吗? 这是我的 Podfile:platform :ios, '9.0' use_frameworks! target 'The Lighthouse App 1' do pod 'Firebase', '>= 2.4.2' end 构建项目解决了重新安装新的podfile后的问题。 李新阳——我从来没想过!该死。谢谢!【参考方案3】:

如果您手动导入 Firebase,请更新目标的 Build Settings 下的 Framework Search PathsHeader Search Paths,以便它们包含 Firebase 框架。

【讨论】:

我必须将 Firebase.h 所在位置的路径添加到 Header search Paths。例如$(PROJECT_DIR)/Frameworks/Firebase【参考方案4】:

使用CocoaPods安装方式时,可以先移除项目工作区文件:rm -rf MyProject.xcworkspace

然后,将 Podfile 编辑为以下内容,该文件将自动设置为最新版本的 Firebase:

use_frameworks! 
target 'MyProject' do
  pod 'Firebase/Core'
  pod 'Firebase/Database'
end

target 'MyProjectUITests' do
  pod 'Firebase/Core'
  pod 'Firebase/Database'
end

最后,重新安装 pod

pod install

【讨论】:

【参考方案5】:

如果您手动添加了firebase框架,请将其删除并重新添加。重建项目,它会工作。

似乎有一个错误。当您放弃更改时会发生这种情况。

【讨论】:

【参考方案6】:
    打开终端并输入 cd "drag and drop your project" Enter 输入“pod init” 用 xcode 打开 pod 文件 在use_frameworks下!类型 吊舱“火力基地” pod 'Firebase/xxx' 返回终端并输入“pod install” 6.打开你的项目文件夹并运行xxx.xcworkspace

【讨论】:

【参考方案7】:

对我来说,我必须确保将 cocoapods 更新到 1.0.0 版。

只需运行sudo gem install cocoapods,然后清理项目和pod install。编译器不应该再抱怨了。

【讨论】:

这对我有用。为暂存和测试目标添加了 pod。【参考方案8】:

所以在花了好几个小时试图修复这个错误之后,我做了以下事情,我的生活又恢复了正常

a) 转到我的 Podfile 并将 pod 'Firebase', '~> 4.8' 更改为 pod 'Firebase/Core'

b) 然后我进入了我的 AppDdelegate 从 import Firebase 更改为 import FirebaseCore

如果你遇到和我一样的问题,这个解决方案对你有用

【讨论】:

【参考方案9】:

欢迎使用swift 3的朋友尝试一下。它对我有用。

我的 pod 文件:

platform :osx, '9.0'
use_frameworks!

target 'MyProject' do
  pod 'Firebase/Messaging'
  pod 'Firebase'
end

AppDelegate:

import FirebaseCore
import FirebaseMessaging

【讨论】:

【参考方案10】:

对我来说,我发现我在 pod 文件的错误行中写了 : (pod 'Firebase') 行。你只需要找到评论:# Pods for projectName 然后用 pod 替换它,例如: pod 'Firebase' 或 : pod 'Firebase/Auth'

【讨论】:

【参考方案11】:

在您的 Podfile 中,确保除了您的 pod 'Firebase/Core' 之外,还有 pod 'Firebase' ,然后,从 vim 中输入 :wq 并运行命令 pod update。确保打开 .xcworkspace

【讨论】:

以上是关于无法将 Firebase 导入 Swift 类的主要内容,如果未能解决你的问题,请参考以下文章

iOS Swift Firebase SDK 导入问题

无法将 iSpeech 导入我的 iOS Swift 项目

将 Firebase 数据放入数组以放入文本视图 (Swift)

Firebase 无法导入桥接头

Swift & Firebase - 无法转换类型“__NSDictionaryM”的值

将 Firebase 快照投射到 Swift 3 对象