【问题标题】:Could not find a valid GoogleService-Info.plist in your project在您的项目中找不到有效的 GoogleService-Info.plist
【发布时间】:2018-01-01 05:37:51
【问题描述】:

当我使用 Xcode 9 beta 4 运行我的 swift 3.2 代码时,这是我得到的错误:

*** Terminating app due to uncaught exception 'com.firebase.core', reason: '[FIRApp configure]; (FirebaseApp.configure() in Swift) could not find a valid GoogleService-Info.plist in your project. Please download one from https://console.firebase.google.com/.'

我已经有一个 GoogleService-Info.plist 文件,该文件的名称与应有的完全一致,并且有效。

是否有任何关于 firebase 的试验或类似的东西?

【问题讨论】:

  • 通过单击右侧面板上的 Plist 文件检查目标是否被检查,并检查物理位置是否在您的项目文件夹中
  • 请从您的项目中删除 GoogleService-Info.plist 并尝试重新添加。
  • @MikeAlter 这可能与我正在运行 xcode 9 beta 4 的事实有关吗?
  • 测试版的错误在于:很简单,他们通常不会自动将项目添加到目标这适用于图像、脚本等。非常简单 - 选择右侧的“信息”,然后单击“添加到目标”框。它似乎在 X9 版本中已全部修复。

标签: ios swift firebase firebase-authentication


【解决方案1】:

不幸或幸运的是,指定的错误非常准确。目前只有一个选项可用。即,将Google-Info.plist 文件正确放入您的项目中。尝试删除并再次添加。另外,检查是否选择了目标。

【讨论】:

  • 项目属性在哪里?
【解决方案2】:

从您的项目中删除 Google-Info.plist 文件并尝试从您的项目文件夹的选项菜单中添加它。

编辑: 这是删除 plist 文件的方法 Xcode 10 Error: Multiple commands produce

【讨论】:

  • 还要确保Google-Info.plist 文件具有正确的目标成员资格。
  • 这是不能直接拖放文件的bug,还是“添加文件”的方法与普通的拖放有什么不同?
  • @AndréKuhlmann 似乎是拖放文件是错误。当我将 plist 文件拖到项目的根目录中时,文件位置是 Downloads 文件夹中的路径。所以我必须“添加文件”才能让它工作。
  • 我尝试了这种方法,但在根文件中创建了 Google-Info.plist。我手动将 Google-Info.plist 文件拖放到我的应用程序文件夹中。我是为 React-Native 项目做的。
  • 如果您使用的是flutter,请将文件添加到runner。感谢您的解决方案
【解决方案3】:
  1. 确保文件名正确,即:“GoogleService-info.plist
  2. 在macfinder项目名称下添加到项目中,然后拖到项目中引用即可。
  3. 最后,正如 Silvajee 所提到的,转到 plist 文件的 file inspector 并勾选 target membership 下的框以将其包含在 project 中。

【讨论】:

  • 我们可以重命名这个文件名:GoogleService-info.plist 吗?类似于 GoogleService-info_myapp.plist
  • 这解决了它。文件命名有问题,检查service-info.plist的文件名
【解决方案4】:

将文件添加到项目后,您可能还需要将其添加到 Compile Sources 部分的 Build Phases

【讨论】:

    【解决方案5】:

    我有同样的问题。

    单击项目中的 Googleservice-info.plist 并在检查器中检查应用程序的 Target Membership。这为我解决了问题。

    这就是导致崩溃的原因,删除文件并再次添加是上述答案所建议的另一种方法。但真正的原因是这样的,这是解决它的正确方法。

    请参考下图进一步说明:

    【讨论】:

    • 在我的情况下,它被禁用,我无法检查我是否只能选择检查 {projectname}Tests
    【解决方案6】:

    重新启动 Xcode 对我有用,上述选项均无效。

    【讨论】:

      【解决方案7】:

      转到构建阶段并在副本包资源中添加文件。就是这样。

      【讨论】:

        【解决方案8】:

        这些步骤解决了我的问题。遵循这些。 1.您必须将 GoogleService-Info.plist 文件拖放到项目中的共享资源等位置。成功添加文件后,还应确保将其包含在项目构建中:

        2. 在您的项目的“构建阶段”部分仔细检查您的项目是否包含 GoogleService-Info.plist。

        3.仔细检查文件名。文件名必须完全是 GoogleService-Info.plist 常见的拼写错误包括 GoogleServices-Info.plist 和 GoogleService-info.plist - 区分大小写且仅准确命名才有效。

        【讨论】:

        • 谢谢。我的被​​命名为 GoogleService-info 而不是 Info。哦,这让我头疼!
        【解决方案9】:
        1. 实际上,当 GoogleService-Info.plist 文件实际上不在我们的项目文件夹中时会发生此错误,但它只是对下载该文件的引用。所以解决方案是删除对该文件的引用,然后通过拖放或通过右键单击项目文件夹使用“添加文件...”选项将其再次添加到项目文件夹中。还要重新检查文件是否正在定位您的项目文件夹目标,否则将再次发生错误。

        2. 不要忘记检查您的“GoogleService-Info.plist”文件是否与错误显示的名称相同,否则请重命名。

        【讨论】:

          【解决方案10】:

          清理然后构建几次对我有用。

          【讨论】:

            【解决方案11】:

            1 - 打开“GoogleService-Info.plist”并将任何或更改为和

            2 - 重新打开 xamarin 解决方案 3 - 现在应该可以工作了

            【讨论】:

              【解决方案12】:

              如果您有多个环境(生产、开发、暂存),则每个环境都需要不同的 Google.plist。

              它们都必须具有相同的名称。

              要解决此问题,请为每个文件创建文件夹(每个环境一个)并将它们放在相应的文件夹中。

              当您将文件从 Finder 拖到 Xcode 时,请确保在 Target Membership

              下为每个文件选择正确的环境

              这样就可以解决问题,并允许您单独构建环境。特别是如果每​​个环境都有不同的 Bundle ID。

              【讨论】:

                【解决方案13】:

                对于那些使用 Ionic 的人,请确保首先在 Xcode 中打开您的 .xcworkspace 文件,然后将 GoogleService-info.plist 文件拖到 Resources 文件夹中。

                出于某种原因,大多数在线教程都不能很好地解释这部分。

                感谢 Shahzaib Maqbool,因为他的评论帮助我为我的项目获得了这个。

                【讨论】:

                  【解决方案14】:

                  我通过从Firebase 中删除项目并从项目中删除GoogleService-Info.plist 解决了这个问题。在我再次将项目添加到 Firebase 并添加了新的 GoogleService-Info.plist 文件后,它对我有用。

                  【讨论】:

                    【解决方案15】:

                    此错误发生下载 google 服务超过 1 次。当我们第一次从 firebase 下载时,它就像GoolgeService-Info.Plist。如果你再次下载,那将是GoogleService-Info(1).Plist。我们需要从GoogleService-Info(1).Plist 中删除(1)

                    【讨论】:

                      【解决方案16】:

                      以下设置可以修复我的编译器失败 1.添加到“复制文件” 2.不添加到“复制捆绑资源”

                      【讨论】:

                        【解决方案17】:

                        删除之前安装的任何其他“GoogleService-Info.plist”文件。就我而言,当我安装它时,它的名称为“GoogleService-Info.plist-2”,因为我在同一个文件夹中安装了另一个文件。看起来这会给firebase造成混乱。我删除了所有旧文件并将当前文件的名称更改为“GoogleService-Info.plist”。有效。

                        【讨论】:

                          【解决方案18】:

                          我们必须确保 完整路径 在 Xcode 中是正确的。最好从一开始就添加它。如果您已经这样做了,请跳至第 5 步。

                          1. 退出 Xcode。
                          2. 确保文件名正确,“GoogleService-Info.plist”。
                          3. 将 .plist 文件添加到项目文件夹。与 Podfile、.xcworkspace 等处于同一级别。
                          4. 打开 Xcode,在 Project Navigator 上识别 .plist 文件。如果不存在,右键单击并单击将新文件添加到“[项目名称]”。确保单击添加到目标选项下方的项目名称。
                          5. 在 Project Navigator 上,单击 GoogleService-Info.plist。从右侧导航器中选择 File Inspector。确保完整路径正确。如果没有,请单击文件夹图标并选择项目文件中的 .plist 文件。
                          6. 构建。如果仍然无法正常工作,请退出 Xcode 并再次构建。

                          【讨论】:

                          • 确保为 GoogleService-Info.plist 选择了目标,并且与您正在构建的目标相同。
                          【解决方案19】:

                          在 Build Phases 中添加 GoogleService-Info.plist,如上图所示:

                          【讨论】:

                            【解决方案20】:

                            在我的情况下,当我在 project.pbxproj 中合并冲突时出了点问题

                            GoogleService-Info.plist -> 没有在右侧窗格中选择目标成员资格,我无法选择它,因为 project.pbxproj 已损坏(即使构建成功)

                            我不得不回滚 project.pbxproj,然后 GoogleService-Info.plist 选择了 Target 成员资格。

                            确保 project.pbxproj 在合并冲突后没有损坏(它与 attempted to initialize an object with an unknown UUID 有关)

                            【讨论】:

                              【解决方案21】:

                              您的配置可能没有正确完成

                              对于颤振

                              安装您的 Firebase 配置文件

                              您必须使用 Xcode 将文件添加到项目中(通过文件系统手动添加不会将文件链接到项目)。使用 Xcode,打开项目的 ios/{projectName}.xcworkspace 文件。在 Xcode 中的左侧项目导航中右键单击 Runner,然后选择“添加文件”,如下所示:

                              选择您下载的GoogleService-Info.plist 文件,并确保“如果需要,复制项目”复选框已启用:

                              【讨论】:

                                【解决方案22】:

                                确保您的文件名正确为“GoogleService-Info.plist”。任何其他名称都会导致问题。重新启动 XCode,一切顺利。

                                【讨论】:

                                • 是的,我在使用“GoogleService-Info2.plist”之类的副本时遇到了这个问题
                                【解决方案23】:

                                对于任何错误地使用 Xamarin 的人(你应该避免使用这个工具): 以代码形式打开项目文件,检查文件是否有导入标签BundleResource,而不是None(红色为正确):

                                【讨论】:

                                  【解决方案24】:

                                  我正在使用 FirebaseUI,但在按“使用 Google 登录”时收到了一个略有不同的错误:

                                  ***由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“未找到 OAuth 客户端 ID。请确保在 Firebase 控制台中启用了 Google 登录。启用 Google 登录后,您可能需要下载新的 GoogleService-Info.plist 文件。'

                                  对我来说解决这个问题的是改变这条线(这似乎已被弃用)

                                  [[FUIGoogleAuth alloc] init]]
                                  

                                  [[FUIGoogleAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI]]
                                  

                                  建立供应商列表时

                                  NSArray<id<FUIAuthProvider>> *providers = @[
                                    [[FUIGoogleAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI]],
                                    [[FUIPhoneAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI]]
                                  ];
                                  

                                  【讨论】:

                                    【解决方案25】:

                                    另一个容易被忽视的问题是当您下载了多个 PLIST 文件时,文件的名称不完全是 'GoogleService-Info.plist'

                                    我有多个副本,因此尝试使用 'GoogleService-Info.plist(2)' 会引发相同的错误,因此请确保文件本身按原样命名!

                                    【讨论】:

                                      猜你喜欢
                                      • 1970-01-01
                                      • 2020-06-29
                                      • 2018-03-06
                                      • 2018-12-10
                                      • 2020-07-08
                                      • 2018-09-08
                                      • 1970-01-01
                                      • 2019-07-08
                                      • 2021-07-11
                                      相关资源
                                      最近更新 更多