iOS Google SDK 登陸接入
阿新 • • 發佈:2019-02-09
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.三個代理方法,都要實現。
8.正常彈出safirViewController ,進入登陸流程, 在- (void)signIn:(GIDSignIn *)signIn didSignInForUser:(GIDGoogleUser *)user withError:(NSError *)error; 這個方法當中,就可以獲取到想要的資訊。- (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]; }
9.over, 歡迎留言討論。