我已经看过这篇文章http://stackoverflow.com/questions/26734090/gigya-facebook-login-completion-handler-not-called
,它没有回答我的问题。
我正在使用 Gigya 进行社交登录,我可以很容易地让它为google
和yahoo
提供者工作,但是当我与提供者进行调用时,下面的代码中永远不会调用 completionHandler facebook
。
- (void)socialLoginTapped:(NSString *) socialType {
[Gigya loginToProvider:socialType parameters:nil over:self completionHandler:^(GSUser *user, NSError *error) {
if (error != nil) {
switch(error.code) {
case 200001: // user cancelled
return;
default: // process other error here
return;
}
}
[self processGigyaUser:user];
}];
}
我得到 Facebook 登录屏幕就好了。
哪些因素会导致这种情况发生?
我在我的 plist 中使用值为 YES 的 gigyaLoginDontLeaveApp 键来显示应用程序中的所有集成登录。它不会离开应用程序。所以我通常不调用[Gigya handleDidBecomeActive]。一时兴起,我确实把它放进去了,但它并没有像预期的那样改变结果。