Google Identity Toolkit 未获取用于登录的客户端 ID

Google Identity Toolkit not getting Client ID for Login

我在我的 iOS 9 兼容应用程序中使用 Google Identity Toolkit 进行联合登录。我最近更新了所有的框架和库,并开始使用 Cocoapods 进行依赖管理。现在,虽然 Facebook 登录工作正常,但当用户点击 "sign in with google" 按钮时,会抛出以下错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'You must specify |clientID| for |GIDSignIn|'

我的AppDelegate中设置clientID的配置代码如下:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    GITClient *gitkitClient = [GITClient sharedInstance];
    gitkitClient.apiKey = GITKIT_API_KEY;
    gitkitClient.widgetURL = GITKIT_WIDGET_URL;
    gitkitClient.providers = GITKIT_PROVIDERS;
    [GPPSignIn sharedInstance].clientID = GOOGLE_CLIENT_ID;

    ...various unrelated code...
}

任何指导将不胜感激。

https://developers.google.com/identity/toolkit/ios/quickstart#step_3_set_up_the_quick-start_app 所述,[GIDSignIn sharedInstance].clientID 需要初始化:

  GITClient *gitkitClient = [GITClient sharedInstance];
  gitkitClient.apiKey = GITKIT_API_KEY;
  gitkitClient.widgetURL = GITKIT_WIDGET_URL;
  gitkitClient.providers = @[ kGITProviderGoogle ];
  [GIDSignIn sharedInstance].clientID = GOOGLE_CLIENT_ID;

您是否错过了这一步 -> Add URL schemes to your project

在 link 中搜索 https://developers.google.com/identity/sign-in/ios/start-integrating

它有 URL 个方案需要设置。 Client ID就是其中之一。

答案实际上与代码配置完全无关,似乎有一个 Google-end 错误。几周后发布了一个新的更新,一个简单的 pod update 解决了这个问题。