iOS Google SDK 登陆接入

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhdzxc123/article/details/76465432

1.需要科学上网方式, 打开 传送门

2.当前版本为4.0.1,文档其实写得非常清楚,觉得比较乱, 在此整理一下。 主要针对需要google sign 自定义登陆按钮的内容。

3.官方demo给的是用GIDSignInButton 这个类进行登陆操作。

4.此处相当于翻一下官方文档。

5.首先是几个基本设置,

   GIDSignIn *sigin = [GIDSignIn sharedInstance];
    sigin.clientID = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
    sigin.delegate = self;
    sigin.uiDelegate = self;
    [sigin setScopes:[NSArray arrayWithObject:@"https://www.googleapis.com/auth/drive.readonly"]];

6.自定义登陆按钮, 关键是GIDSignInDelegate, GIDSignInUIDelegate这个2个协议, 无论使用2个方式当中哪一个, 都要实现这个2个协议。此处的self可以是UIVIewController或者其子类。执行登陆操作[[GIDSignIn sharedInstance] signIn];

7.三个代理方法,都要实现。

- (void)signInWillDispatch:(GIDSignIn *)signIn error:(NSError *)error
{
    NSLog(@"%@", signIn);
}

- (void)signIn:(GIDSignIn *)signIn presentViewController:(UIViewController *)viewController
{
    NSLog(@"%@", signIn);
   //此处的rootViewControlle为当前显示的试图控制器
    [self.rootViewController presentViewController:viewController animated:YES completion:nil];
}


- (void)signIn:(GIDSignIn *)signIn dismissViewController:(UIViewController *)viewController
{
    NSLog(@"%@", signIn);
    [viewController dismissViewControllerAnimated:YES completion:nil];
    
}
8.正常弹出safirViewController ,进入登陆流程, 在- (void)signIn:(GIDSignIn *)signIn didSignInForUser:(GIDGoogleUser *)user withError:(NSError *)error; 这个方法当中,就可以获取到想要的信息。

9.over, 欢迎留言讨论。

猜你喜欢

转载自blog.csdn.net/zhdzxc123/article/details/76465432