내 앱 (기본 SDK : iOS5) 용 Facebook SDK 3.0 및 자습서로 맛있는 앱 (샘플 앱)을 사용하고 있습니다. Facebook 용 공개 세션이없는 경우 로그인보기 컨트롤러가 모달로 표시됩니다. 그러나 그것은 모달로 제시되지 않습니다. 다음은 코드입니다.AppDelegate에서 presentModalViewController를 호출하지 않음
- (void)showLoginView {
UIViewController *topViewController = [self.navigationController topViewController]; // not nil, RootViewController kind of class
UIViewController *modalViewController = [topViewController modalViewController]; // nil since not modalviewcontroller exists
if (![modalViewController isKindOfClass:[FacebookLoginViewController class]]) {
FacebookLoginViewController *loginViewController = [[FacebookLoginViewController alloc] initWithNibName:@"FacebookLoginViewController" bundle:nil]; // allocated, no problem
[topViewController presentModalViewController:loginViewController animated:NO]; // not working????
} else {
FacebookLoginViewController* loginViewController = (FacebookLoginViewController*)modalViewController;
[loginViewController loginFailed];
}
}
세부 정보;
- showLoginView이
topViewController
가 nil이 아닌,application:didFinishLaunchingWithOptions:
에서 호출되는 및있는 navigationController가viewDidLoad
방법showLoginView
에서 - 라는
showLoginView
전에있는 navigationController의 호출 RootViewController
을 할당 한 후 호출되는 (이해야한다 무엇이다 :
- navigationController는 종류의 종류입니다 UINavigationController (custom가 아닙니다)
loginViewController
(FacebookLoginViewController
)의 방법이라고init
있지만 그 방법viewDidLoad
)
RootViewController
)
로그 출력 :
2013년 3월 21일 20 : 01 : 28.729 RootViewController : viewDidLoad에
2013-03 -21 20 : 01 : 28.735 FacebookLoginViewController : Allocated
presentModalViewController : animated :는 더 이상 사용되지 않습니다. 대신 presentViewController :를 사용해보십시오. – AMayes
아직 표시되지 않았습니다. – Bartu