当我使用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有什么试验吗?
答案 0 :(得分:132)
从项目中删除Google-Info.plist
文件,然后尝试从项目文件夹的选项菜单中添加该文件。
答案 1 :(得分:15)
我有同样的问题。
点击项目中的Googleservice-info.plist,然后在检查器中查看应用的目标会员资格。这为我解决了。
这就是导致崩溃并删除文件并再次添加的原因,这是上面的答案建议的另一种方式。但实际原因是这个,这是解决问题的正确方法。
请参阅下图以获得进一步说明:
答案 2 :(得分:6)
将文件添加到项目后,您可能还需要将其添加到编译源部分中的构建阶段。
答案 3 :(得分:3)
不幸的是,幸运的是,指定的错误非常准确。现在只有一个选项可用。 i。,正确地将Google-Info.plist
文件放入项目中。尝试删除并再次添加。另外,检查是否选择了目标。
答案 4 :(得分:2)
确保您的文件名正确为“GoogleService-Info.plist”。任何其他名称都会导致问题。重新启动 XCode,你就可以开始了。
答案 5 :(得分:1)
转到构建阶段并在副本包资源中添加文件。多数民众赞成。
答案 6 :(得分:1)
GoogleService-info.plist
”finder
中将其添加到项目中,然后将其拖到项目中以引用它。 file inspector
并勾选target membership
下方的框以将其作为project
的一部分包含在内。答案 7 :(得分:1)
答案 8 :(得分:1)
我们必须确保Xcode中的完整路径是正确的。最好从一开始就添加它。如果已经完成,请跳至步骤5。
答案 9 :(得分:1)
如果您有多个环境(生产,开发,暂存),则每个环境都需要一个不同的Google.plist。
它们都必须具有相同的名称。
要解决此问题,请为每个文件创建一个文件夹(每个环境一个),然后将其放在相应的文件夹中。
当您将文件从Finder拖到Xcode时,请确保为 Target Membership
下的每个文件选择正确的环境。这可以解决问题,并允许您分别构建环境。尤其是在每个环境都有不同的Bundle ID的情况下。
答案 10 :(得分:1)
这些步骤解决了我的问题。 FOllow这些。 1.您必须将GoogleService-Info.plist文件拖放到项目中的共享资源等位置。成功添加文件后,还应确保将其包含在项目构建中:
2.在项目的“构建阶段”部分中,仔细检查您的项目是否包含GoogleService-Info.plist。
3.Double检查文件名。文件名必须完全是GoogleService-Info.plist,常见的拼写错误包括GoogleServices-Info.plist和GoogleService-info.plist - 区分大小写并且只有名称才有效。
答案 11 :(得分:0)
1 - 打开" GoogleService-Info.plist"并改变任何或者和
2 - 重新打开xamarin溶液 3 - 它应该现在可以工作
答案 12 :(得分:0)
干净然后建立几次为我工作。
答案 13 :(得分:0)
对于那些使用Ionic的人,请确保先在Xcode中打开.xcworkspace文件,然后将GoogleService-info.plist文件拖到Resources文件夹中。
由于某些原因,大多数在线教程都无法很好地说明这一部分。
向Shahzaib Maqbool大喊大叫,因为他的评论帮助我从我的项目中得到了这一点。
答案 14 :(得分:0)
我通过从System.IO.FileNotFoundException: Could not load file or assembly 'System.Numerics.Vectors, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Numerics.Vectors, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at System.SpanHelpers.SequenceEqual(Byte& first, Byte& second, NUInt length)
at System.MemoryExtensions.Equals(ReadOnlySpan`1 span, ReadOnlySpan`1 other, StringComparison comparisonType)
at ServiceStack.Text.Json.JsonTypeSerializer.EatValue(ReadOnlySpan`1 value, Int32& i)
at ServiceStack.Text.Common.DeserializeTypeRefJson.StringToType(ReadOnlySpan`1 strType, TypeConfig typeConfig, EmptyCtorDelegate ctorFn, KeyValuePair`2[] typeAccessors)
at ServiceStack.Text.Common.DeserializeType`1.StringToTypeContext.DeserializeJson(ReadOnlySpan`1 value)
at ServiceStack.Text.Json.JsonReader.<>c__DisplayClass3_0.<GetParseSpanFn>b__0(ReadOnlySpan`1 v)
at ServiceStack.Text.JsonSerializer.DeserializeFromSpan(Type type, ReadOnlySpan`1 value)
at ServiceStack.Text.DefaultMemory.Deserialize(MemoryStream ms, Boolean fromPool, Type type, DeserializeStringSpanDelegate deserializer)
at ServiceStack.Text.DefaultMemory.<DeserializeAsync>d__34.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ServiceStack.Host.RestHandler.<CreateRequestAsync>d__16.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ServiceStack.Host.RestHandler.<CreateRequestAsync>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ServiceStack.Host.RestHandler.<ProcessRequestAsync>d__14.MoveNext()
中删除项目并从项目中删除Firebase
来解决了该问题。在我再次将项目添加到GoogleService-Info.plist
并添加了对我有用的新Firebase
文件之后。
答案 15 :(得分:0)
发生此错误的次数超过了1次,下载了Google服务。当我们第一次从Firebase下载时,就像GoolgeService-Info.Plist
。如果您再次下载,它将GoogleService-Info(1).Plist
附带。我们需要从(1)
中删除GoogleService-Info(1).Plist
。
答案 16 :(得分:0)
答案 17 :(得分:0)
删除以前安装的所有其他“ GoogleService-Info.plist”文件。就我而言,当我安装它时,它的名称为“ GoogleService-Info.plist-2”,因为我在同一文件夹中安装了另一个文件。看来这会给Firebase造成混乱。我删除了所有旧文件,并将当前文件的名称完全更改为“ GoogleService-Info.plist”。有效。
答案 18 :(得分:0)
实际上,当GoogleService-Info.plist文件实际上不在我们的项目文件夹中时会发生此错误,但它只是对该文件的引用进行了下载。因此解决方案是删除对此文件的引用,然后通过拖放或使用&#34; Add Files ...&#34;再次将其添加到项目文件夹中。右键单击选项到项目文件夹。还要重新检查文件是否正在查找项目文件夹目标,否则将再次出现错误。
不要忘记检查您的&#34; GoogleService-Info.plist&#34;文件名与错误中显示的名称相同,否则重命名。
答案 19 :(得分:0)
在我的情况下,当我在project.pbxproj中合并冲突时出现了问题
GoogleService-Info.plist->在右窗格中没有选择“目标”成员身份,我无法选择它,因为project.pbxproj已损坏(即使构建成功)
我必须回滚project.pbxproj,然后在GoogleService-Info.plist中选择了Target成员身份。
确保合并冲突后project.pbxproj没有损坏(与attempted to initialize an object with an unknown UUID
有关)
答案 20 :(得分:0)
您的配置可能没有正确完成
对于Flutter
安装Firebase配置文件
您必须使用Xcode将文件添加到项目中(通过文件系统手动添加不会将文件链接到项目)。使用Xcode打开项目的ios/{projectName}.xcworkspace
文件。右键单击Xcode中左侧项目导航中的Runner
,然后选择“添加文件”,如下所示:
选择您下载的GoogleService-Info.plist
文件,并确保启用了“如果需要复制项目”复选框:
答案 21 :(得分:0)
重新启动Xcode对我有用,上述选项均无效。