在您的项目中找不到有效的GoogleService-Info.plist


83

当我使用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或类似的工具吗?


11
单击右侧面板上的Plist文件检查目标是否已选中,并且还检查物理位置在您的项目文件夹中
Prashant Tukadiya

GoogleService-Info.plist从您的项目中删除,然后尝试再次添加。
桑贾伊·沙

@MikeAlter可能与我正在运行xcode 9 beta 4的事实有关吗?
亚当·埃里泽罗耶夫(Adam eliezerov),

Beta版存在很多问题:简而言之,它们通常不会自动将项目添加到 应用于图像,脚本等的目标。非常简单-选择右侧的“信息”,然后单击“添加到目标”框。它似乎已在X9版本中修复。
Fattie

Answers:


212

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

编辑:这是您如何删除plist文件 Xcode 10错误:产生多个命令


4
是的,这是解决方案。好像是Xcode 9 beta中的错误。
Adagio

10
还要确保Google-Info.plist文件具有正确的目标成员身份。
汤姆·斯比(Tom Spee)

这是不是您只能拖放文件的错误,还是“添加文件”方法与正常的拖放有所不同?
安德烈·库尔曼(AndréKuhlmann)

1
@AndréKuhlmann似乎是拖放文件的错误。当我将plist文件拖到项目的根目录中时,文件位置是Downloads文件夹中的路径。因此,我必须“添加文件”才能正常工作。
govgo

修复此问题,谢谢(Y)
穆罕默德·萨勒曼

23

我遇到过同样的问题。

单击您项目中的Googleservice-info.plist,然后在检查器中检查“应用程序的目标成员身份”。这为我解决了。

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

请参考下图进一步说明:

在此处输入图片说明



4

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

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

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

当您将文件从Finder拖到Xcode时,请确保为Target Membership下的每个文件选择正确的环境。

这样就可以解决问题,并允许您分别构建环境。尤其是在每个环境都有不同的Bundle ID的情况下。




2
  1. 确保文件名正确,即:“ GoogleService-info.plist
  2. 将其添加到finder项目名称下的mac中的项目中,然后将其拖到项目中以进行引用。
  3. 最后,如Silvajee所述,转到file inspectorplist文件的,然后在下面的框内打勾,target membership以将其包括在中project

我们可以重命名该文件名为:GoogleService-info.plist吗?对于诸如GoogleService-info_myapp.plist之类的商品
shaqir

2

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

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

3.仔细检查文件名。文件名必须与GoogleService-Info.plist完全相同,常见的拼写错误包括GoogleServices-Info.plist和GoogleService-info.plist-区分大小写且仅精确命名即可。


谢谢。我的被​​命名为GoogleService-info而不是Info。哦,这让我头疼!
Anish

2

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

大多数在线教程由于某些原因都无法很好地解释这一部分。

向Shahzaib Maqbool大喊,因为他的评论帮助我在我的项目中得到了这个。


2

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

在此处输入图片说明


1
  1. 实际上,当GoogleService-Info.plist文件实际上不在我们的项目文件夹中,而是仅具有对该文件的下载位置的引用时,就会发生此错误。因此解决方案是删除对该文件的引用,然后通过拖放或右键单击项目文件夹使用“添加文件...”选项,将其再次添加到项目文件夹中。还要重新检查文件是否在您的项目文件夹目标位置,否则将再次发生错误。

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




1

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


1

发生此错误的次数超过1次,下载Google服务。当我们从Firebase首次下载时,就像GoolgeService-Info.Plist。如果您再次下载,将会出现GoogleService-Info(1).Plist。我们需要删除(1)GoogleService-Info(1).Plist


1

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

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

确保为GoogleService-Info.plist选择了目标,并且该目标与要构建的目标相同。
斯瓦蒂

1

在此处输入图片说明

在构建阶段中,将GoogleService-Info.plist添加为上述屏幕截图:



0

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


0

就我而言,当我在project.pbxproj中合并冲突时出了点问题

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

我必须回滚project.pbxproj,之后GoogleService-Info.plist选择了Target成员身份。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.