我在iOS 9兼容的应用中使用Google Identity Toolkit进行联合登录。我最近更新了所有框架和库,并开始使用Cocoapods进行依赖关系管理。现在,虽然Facebook登录工作正常,但当用户点击“使用谷歌登录”按钮时,会抛出以下错误:
*** 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...
}
任何指导都将得到衷心的感谢。
答案 0 :(得分:1)
正如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;
答案 1 :(得分:0)
你错过了这一步 - > Add URL schemes to your project
?
在链接中搜索它 https://developers.google.com/identity/sign-in/ios/start-integrating
它具有需要设置的URL方案。 Client ID
就是其中之一。
答案 2 :(得分:0)
答案实际上与代码配置完全无关,似乎可能存在Google端错误。发布了一个新的更新,几周后,一个简单的pod update
修复了问题。