1. 程式人生 > >iOS Google SDK 登陸接入

iOS Google SDK 登陸接入

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, 歡迎留言討論。