Ios5 pushview控制器don´;无法在iOS 5上启动GTMOAuth2ViewControllerTouch

Ios5 pushview控制器don´;无法在iOS 5上启动GTMOAuth2ViewControllerTouch,ios5,oauth-2.0,single-sign-on,Ios5,Oauth 2.0,Single Sign On,我正在使用sdk 5和故事板开发一个iPad应用程序。我正在学习[OAuth2]教程和示例 我已将代码移植到一个单例。每次调用初始化时创建新视图: viewController = [[GTMOAuth2ViewControllerTouch alloc] initWithScope:scope clientID:kMyClientID

我正在使用sdk 5和故事板开发一个iPad应用程序。我正在学习[OAuth2]教程和示例

我已将代码移植到一个单例。每次调用初始化时创建新视图:

    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=[[GTMOAuth2ViewControllerTouch alloc]initWithScope:scope
clientID:kMyClientID
clientSecret:kMyClientSecret
keychainItemName:kKeychainItemName
代表:赛尔夫
finishedSelector:@选择器(viewController:finishedWithAuth:错误:);
//viewController.keychainItemAccessibility=ksecAttracAccessibleAllways;
NSDictionary*params=[NSDictionary Dictionary WithObject:@“en”
福基:@“hl”];
//viewController.signIn.additionalAuthorizationParameters=参数;
NSString*html=@“正在加载登录页…”;
viewController.initialHTMLString=html;
[[self-navigationController]推送视图控制器:视图控制器
动画:是];
但是,当另一个Viewcontroller调用simgleton时,推送的视图不会显示

通常,navigator控制器使用堆栈来显示不同的视图,因此,如果我的方式正确,该函数必须启动GTMOAuth2ViewControllerTouch.view,以使用OAuth2登录,这在示例中发生。但什么也没发生


发生了什么事?提前感谢。

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

 if(![self navigationController]){   NSLog(@"I´m Nil"); } else { ... }
如果尚未创建navigationController,请尝试使用应用程序的单例来获取它,例如:

[[[[[UIApplication sharedApplication] delegate] window] rootViewController] presentModalViewController:viewController animated:YES];

我应该如何获得正确的导航控制器?请帮忙