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

时间:2015-07-08 13:35:47

标签: ios objective-c xcode google-api google-signin

我已关注: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放在我的目录中,但它仍然无效。

4 个答案:

答案 0 :(得分:40)

  1. 您必须将GoogleService-Info.plist文件拖放到项目中Shared Resources等位置。成功添加文件后,还应确保将其包含在项目构建中:
  2. Image showing the added resource

    1. 仔细检查项目的“构建阶段”部分,您的项目是否包含GoogleService-Info.plistenter image description here

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

答案 1 :(得分:9)

我遇到了同样的问题。实际上,我在cocoapods文件中解决了这个问题,我将“pod'Google / SignIn'”改为“pod Google”。希望它也可以帮助你。

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

当我更新google pod时,这种情况发生在我身上。他们改变了配置URL方案的方式。最好的方法是重新配置谷歌登录。