尝试在我的应用中集成 Google 登录时找不到“GoogleService-Info.plist”

Posted

技术标签:

【中文标题】尝试在我的应用中集成 Google 登录时找不到“GoogleService-Info.plist”【英文标题】:Unable to find "GoogleService-Info.plist" while trying to integrate Google Sign-in in my app 【发布时间】:2015-09-26 11:09:06 【问题描述】:

我已关注:Integrating Google Sign-In into your ios app

但是,当我执行应用程序时,它会在应用程序委托本身中停止 - 甚至在我看到我的第一个视图控制器之前。

原因是因为我在"application didFinishLaunchingWithOptions withOptions"中写的这几行代码,分别是:

"NSError* configureError;
[[GGLContext sharedInstance] configureWithError: &configureError];
    NSAssert(!configureError, @"Error configuring Google services: %@", configureError);

 [GIDSignIn sharedInstance].delegate = self;"

在调试中,当它到达这段代码时,它会说

“由于未捕获的异常而终止应用程序 “NSInternalInconsistencyException”,原因:“配置 Google 时出错 服务:错误域=com.google.greenhouse 代码=-200“无法 配置 GGL。” UserInfo=0x7ff9c2e1d000 NSLocalizedRecoverySuggestion=检查格式和位置 GoogleService-Info.plist., NSLocalizedDescription=无法配置 GGL., NSLocalizedFailureReason=无法解析提供的 GoogleService-Info.plist。有关详细信息,请参阅日志。'"。

我将GoogleService-Info.plist 放在我的目录中,但它仍然无法正常工作。

【问题讨论】:

欢迎来到堆栈:请阅读***.com/help/how-to-ask 感到沮丧是可以的,但请在以后保留您的问题。 【参考方案1】:
    您必须将GoogleService-Info.plist 文件拖放到项目中的某个位置,例如Shared Resources。成功添加文件后,还应确保将其包含在项目构建中:

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

    仔细检查文件名。文件名必须完全正确 GoogleService-Info.plist 常见的拼写错误包括 GoogleServices-Info.plistGoogleService-info.plist - 区分大小写并准确命名只会起作用。

【讨论】:

类,非常感谢您的回复! ,但我的 xcode 项目没有名为“共享资源”的文件夹。我在目标文件夹中添加了“GoogleService-Info.plist。”,它也在“复制捆绑资源”中,但它仍然显示救火车错误。 :-( 哦,是的 - 我觉得告诉你 GoogleService-Info.plist 也很有用。 " 被添加到我的目标文件夹而不是 pods 目标(我使用 cocoapods 后得到的) 它是否包含在“复制捆绑资源”部分? 谢谢!终于成功了...即使在费力地按照 Google 的指示前往“T”后仍然崩溃...Google 应该将您的信息添加到他们的路线中... 嘿,我试过拖放有目标和构建通道,但它仍然给我错误。你能帮助我吗?看看这个问题。我已经完全按照上述步骤操作我在 Xcode 9.2【参考方案2】:

我遇到了同样的问题。而且,实际上,当我在 cocoapods 文件中放置“pod 'Google/SignIn'”而不是“pod Google”时,我解决了这个问题。希望对你也有帮助。

【讨论】:

兄弟是的 - 这也是我的问题。虽然,我在两周前发现了这一点,但我仍然非常感谢有像你这样的好心人。 希望这个帖子能帮助遇到此类问题的其他人。 就我而言,该文件未在构建阶段的“复制捆绑资源”中列出。虽然我在 OP 中发布了完全相同的错误(我使用的是 swift 而不是 Obj-C)【参考方案3】:

如果您只想获取 GCM_SENDER_ID,请尝试以下解决方法:

NSError* configureError;
[[GGLContext sharedInstance] configureWithError:&configureError];
NSString * gcmSenderID = [GGLContext sharedInstance].gcmSenderID;
NSLog(@"%@", gcmSenderID);

【讨论】:

【参考方案4】:

这发生在我更新 google pod 时。他们改变了配置 URL 方案的方式。最好的方法是重新配置 google 登录。

【讨论】:

【参考方案5】:

对我来说.. 我忘了添加下面的豆荚。 (因为我之前有一些本地问题......所以我删除了所有)

pod 'FirebaseUI/Auth'

pod 'FirebaseUI/Google'
pod 'FirebaseUI/Facebook'
pod 'FirebaseUI/OAuth' # Used for Sign in with Apple, Twitter, etc
pod 'FirebaseUI/Phone'

https://firebase.google.com/docs/auth/ios/firebaseui

【讨论】:

以上是关于尝试在我的应用中集成 Google 登录时找不到“GoogleService-Info.plist”的主要内容,如果未能解决你的问题,请参考以下文章

尝试在我的应用中集成 Google Play 游戏时出现 API 异常

如何在 Android 应用程序中集成 Google Analytics

如何在 Xamarin.Android 应用上集成新的 Google 登录?

在我的 iOS 应用程序中集成 Facebook 应用程序时出现重定向问题

构建 XCTest 时找不到文件错误

如何在我的页面中集成 Google Analytics 数据?