我在过去的3天里陷入了一个非常烦人的问题。我已经实施了Google+登录,直到我从G + iOS SDK 1.5.1版升级到1.7.1之后,它才运行良好。我完全像Google Developers中提到的那样。当我按下登录按钮后,它会转到设备上的Safari或Google+应用程序,然后切换回我的应用程序,并出现无法解决的错误。
这就是我实施的方式,
StartScreenViewController.h
#import <GooglePlus/GooglePlus.h>
@interface StartScreenViewController : UIViewController <GPPSignInDelegate> {
GPPSignIn *signIn;
}
StartScreenViewController.m
#import <GoogleOpenSource/GoogleOpenSource.h>
static NSString * const kClientId = @"********-*************.apps.googleusercontent.com";
- (void)initUI {
btnGooglePlus = [UIButton buttonWithType:UIButtonTypeCustom];
[btnGooglePlus addTarget:self action:@selector(loginWithGooglePlus:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btnGooglePlus];
}
- (void)viewDidLoad {
signIn = [GPPSignIn sharedInstance];
signIn.shouldFetchGooglePlusUser = YES;
signIn.shouldFetchGoogleUserEmail = YES;
signIn.clientID = kClientId;
signIn.scopes = @[ kGTLAuthScopePlusLogin ];
signIn.delegate = self;
}
-(void)loginWithGooglePlus:(id)sender {
[signIn authenticate];
}
它切换回app并调用委托方法 - (void)finishedWithAuth:(GTMOAuth2Authentication *)auth error:(NSError *)error
我收到的是错误消息:错误域= com.google.GTMHTTPFetcher代码= -1&#34;无法完成操作。 (com.google.GTMHTTPFetcher错误-1。)&#34;
我甚至实现了GPPSignInButton,它也给出了相同的结果。我不知道为什么会这样。如果有人能指出我正确的方向,那将是一个很大的帮助。
感谢。
答案 0 :(得分:0)
我几天前和G + SDK合作,一切都很好。我的实现与您的实现不同之处在于我没有设置任何范围并仅在trySilentAuthentication
之后使用身份验证:
-(void)loginWithGooglePlus:(id)sender {
if (![signIn trySilentAuthentication]) {
[signIn authenticate];
}
}
您还应尝试通过disconnect
答案 1 :(得分:0)