如何修复在作用域中找不到‘Firebase App’?

c9x0cxw0  于 2022-09-19  发布在  Swift
关注(0)|答案(7)|浏览(218)

我有一个问题。请帮帮忙。每当我尝试运行此代码时,它都会出现错误,并显示在作用域中找不到‘Firebase App’。请帮帮我!

import UIKit
import Firebase

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  var window: UIWindow?

  func application(_ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions:
      [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    FirebaseApp.configure()
    return true
  }
0sgqnhkj

0sgqnhkj1#

这个解决方案对我很管用

我在import Firebase之前导入,但在更新Pod之后。此外,我还需要再导入一个**import FirebaseAnalytics**

因此,如果您同时需要import Firebaseimport FirebaseAnalytics,则保留两者,否则只需要import FirebaseAnalytics

1tuwyuhd

1tuwyuhd2#

这种情况有时会发生在CocoaPods上。尝试执行以下步骤

1.清理您的版本-Command + K
1.删除派生数据->Command + . -> Locations -> Derived data -> Delete all the sub folders.
1.现在退出您的Xcode并重新打开它。

xzabzqsa

xzabzqsa3#

在Xcode中打开“xcworkspace”文件而不是“xcodeproj”解决了我的问题。

more info

1u4esq0p

1u4esq0p4#

这似乎在很大程度上取决于您的设置的更广泛的情况。您使用的是哪些版本:

  • Xcode?
  • Swift?
  • CocoaPods?
  • Firebase?
  • Xcode项目格式?
  • 也许是其他人?

本周早些时候,我遇到了同样的问题,我的设置如下:

  • Xcode 13.3
  • SWIFT 5
  • CocoaPods 1.11.3
  • Firebase/Analytics(8.12.1)
  • Firebase/Core(8.12.1)
  • Firebase/Crashlytics(8.12.1)
  • Firebase性能(8.12.0)
  • Xcode项目格式3.2-兼容

当我去构建(SIM或设备,无关紧要)时,我得到的Cannot find 'FirebaseApp' in scope是一个错误。我真的按谷歌说的做了:https://firebase.google.com/docs/database/ios/start#set_up

import Firebase

...将上述代码放入AppDelegate.swift中,然后在此方法中运行FirebaseApp.configure()

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool

但没有奏效。

作为实验,我尝试在我的应用程序中使用FirebasePerformaceFirebaseAnalyticsFirebaseCrashlytics代码,但没有在应用程序委托中运行Firebase.configure()

它编译并运行了!...但当应用程序遇到从上述Firebase模块之一捕获代码的一些指标时,该应用程序崩溃。所以,显然pod install工作正常…所以这对我来说不是CocoaPods的问题。

然后在我看来,正在进行的imported似乎出了什么问题。import Firebase语句本身(正如他们所说的)并没有做它应该做的事情。

那么,我做了什么尝试?在过去使用过Firebase之后,谷歌一度推荐使用import FirebaseCore。这就是我所做的。

import FirebaseCore

除了import Firebase之外,我还在AppDelegate.swift文件中添加了上述代码行,问题解决了!它现在在SIM和设备上构建和运行。

我还建议研究一下@AshvinA和@SomeshKarthik做了什么,如果你在Firebase范型下使用这些特定模块的功能。

同样,根据项目设置各个方面的版本,您的*解决方案可能会有所不同。

9rygscc1

9rygscc15#

出于某种原因,我不能对这篇文章发表评论,但我想我知道答案。您需要下载CocoaPods并安装Firebase的Pod。看一下这个链接,你就会明白我的意思:https://firebase.google.com/docs/ios/setup

如果您需要澄清,请随时发表评论。

编辑:查看页面时,如果您还没有安装CocoaPods,它会忘记包含命令“sudo gem install CocoaPods”。此外,如果您使用的Mac没有达到Big Sur标准,则需要手动更新Ruby。只需尝试找到RVM(Ruby版本管理器)即可。我已经做了3次了,但我忘了怎么做(这是一种压抑的记忆)。

djmepvbi

djmepvbi6#

在appDelegate中导入这两个框架,它应该可以工作。

导入Firebase

导入Firebase FiRestore

kmpatx3s

kmpatx3s7#

转到Firebase.h文件并检查#import <FirebaseCore/FirebaseCore.h>

相关问题