Google + вход в приложение

Я хочу интегрировать функции Google+ в мое приложение. Я использовал Google+ sdk, но перенаправляю сафари для входа в Google, я хочу открыть этот веб-диалог в своем приложении. Может ли кто-нибудь помочь мне в этом?

Я сделал это. Наследуя класс UIApplication, а затем обрабатывая URL-адрес в веб-представлении. Вот код:

Добавьте Google+ FrameWork в свой проект.

Теперь, при вызове аутентификации, поймайте этот URL, заблокировав класс UIAPPLICATION.

- (IBAction)btnGooglePlusTap:(id)sender { [[GPPSignIn sharedInstance] authenticate]; } SubClassUIApplication.h #import <UIKit/UIKit.h> #define ApplicationOpenGoogleAuthNotification @"GoogleFriendInvitationPosted" @interface SubClassUIApplication : UIApplication @end #import "SubClassUIApplication.h" @implementation SubClassUIApplication - (BOOL)openURL:(NSURL *)url { if([[url absoluteString] hasPrefix:@"googlechrome-x-callback:"]) { return NO;//This will prevent call to Google Chrome App if installed. } else if([[url absoluteString] hasPrefix:@"https://accounts.google.com/o/oauth2/auth"]) { [[NSNotificationCenter defaultCenter] postNotificationName:ApplicationOpenGoogleAuthNotification object:url]; return NO;// Here we will pass URL to notification and from notification observer , we will load web view. } else if ([[url absoluteString] hasPrefix:@"com.google"]) { return NO; } return [super openURL:url]; } @end 

Задайте этот подкласс как основной класс в файле info.plist.

Теперь откройте URL-адрес веб-представления

 - (void)catchNotificationforGooglePlusSharing:(NSNotification *)notiofication { NSURL *u=(NSURL *)notiofication.object; UINavigationController *navWebView =(UINavigationController *) [self.storyboard instantiateViewControllerWithIdentifier:@"WebViewNavController"]; WebViewController *vcWebView = navWebView.viewControllers[0]; vcWebView.webURL = u; [self.navigationController presentViewController:navWebView animated:YES completion:Nil]; } 

Теперь в webviewcontroller.m

 - (void)viewDidLoad { [super viewDidLoad]; NSURLRequest *req= [[NSURLRequest alloc]initWithURL:webURL]; [webvGoogle loadRequest:req]; } #pragma mark - UIWebViewDelegate method - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { BOOL canHandle = [GPPURLHandler handleURL:request.URL sourceApplication:@"com.apple.mobilesafari" annotation:nil]; if(canHandle == YES) { [self dismissViewControllerAnimated:YES completion:^ { }]; } return YES; } - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { NSLog(@"Error in loading : %@",error.description); } 

Не забудьте зарегистрировать свой класс для уведомления ApplicationOpenGoogleAuthNotification.

Вы можете использовать GTMOAuth2ViewControllerTouch из Google Toolbox для Mac – OAuth 2 Controllers .

 #import <GTMOAuth2ViewControllerTouch.h> GTMOAuth2ViewControllerTouch *googleAuthViewController = [[GTMOAuth2ViewControllerTouch alloc] initWithScope:@"https://www.googleapis.com/auth/userinfo#email" clientID:kClientId clientSecret:kSecretId keychainItemName:@"GooglePlus_Sample_App" delegate:self finishedSelector:@selector(viewController:finishedWithAuth:error:)]; [self.navigationController pushViewController:googleAuthViewController animated:YES]; 

Это образец, найденный здесь http://blog.krzyzanowskim.com/2015/02/22/google-sign-on-with-1password/, где вы можете найти полный образец проекта.

  • не удалось отправить URL с изображением в google + в приложении ios
  • Приложение google plus не возвращается в мое приложение iOS, а интеграция google plus в приложении iOS в Xcode
  • Не удалось получить токен доступа для google + через Oauth 2.0 в приложении iPhone
  • GPPSignIn sharedInstance userID всегда равен нулю
  • Как получить идентификатор общей почты в Google Plus ios?
  • ios google + api youtube подписаться на канал
  • trySilentAuthentication без кнопки Google+
  • Собственный общий диалог Google+ мгновенно исчезает
  • Ошибка GPPSignIn iOS
  • Вход в Google+ для iOS (ошибка компоновщика Apple mach-o)
  • GPPSignIn против GIDSignIn
  • Давайте будем гением компьютера.