启动GTMOAuth2ViewControllerTouch

启动GTMOAuth2ViewControllerTouch

我正在使用sdk 5和Storyboard开发iPad应用程序。我正在关注[OAuth2]教程和示例。 1

我已将代码移植到Singleton。每次调用initSesion时都创建一个新 View :

    viewController = [[GTMOAuth2ViewControllerTouch alloc] initWithScope:scope
                                                             clientID:kMyClientID
                                                         clientSecret:kMyClientSecret
                                                     keychainItemName:kKeychainItemName
                                                             delegate:self
                                                     finishedSelector:@selector(viewController:finishedWithAuth:error:)];

//viewController.keychainItemAccessibility = kSecAttrAccessibleAlways;

NSDictionary *params = [NSDictionary dictionaryWithObject:@"en"
                                                   forKey:@"hl"];

//viewController.signIn.additionalAuthorizationParameters = params;

NSString *html = @"<html><body bgcolor=silver><div align=center>Loading sign-in page...</div></body></html>";
viewController.initialHTMLString = html;


[[self navigationController] pushViewController:viewController
                                       animated:YES];

但是,当另一个Viewcontroller调用simgleton时,不会显示推入的 View 。

通常,导航器 Controller 使用堆栈来显示差异 View ,因此,如果我以正确的方式使用该功能,则必须启动GTMOAuth2ViewControllerTouch.view才能使用OAuth2登录,该情况在示例中发生。但是什么也没发生。

这是怎么回事?提前致谢。

最佳答案

检查您是否有导航 Controller ,可能为零。使用调试模式或放置NSLog:

 if(![self navigationController]){   NSLog(@"I´m Nil"); } else { ... }

如果尚未创建navigationController,请尝试使用应用的单例来获取它,例如:
[[[[[UIApplication sharedApplication] delegate] window] rootViewController] presentModalViewController:viewController animated:YES];

关于ios5 - pushViewController在iOS 5上无法启动GTMOAuth2ViewControllerTouch,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11223682/

10-13 04:59