저는이 문제에 정말로 걸리고 누군가 올바른 방향으로 나를 가리킬 수 있다면 고맙겠습니다 ...App Delegate의 메인 TabBar 컨트롤러를 어떻게 표시 할 수 있습니까?
메인 탐색을위한 탭 표시 줄과 함께 iOS 응용 프로그램을 구축하고 있습니다.
사용자는 기본 화면과 탭 표시 줄을보기 전에 가입/로그인해야합니다.
사용자는 Facebook 연결을 사용하여 로그인하고 가입 할 수 있습니다.
앱이 Google의 자체 API와 통신합니다.
현재 ... UITabBarController의 초기보기가로드 될 때 현재 사용자가 있는지 확인하고 그렇지 않은 경우 로그인 화면을 표시합니다. 로그인 화면에서
if (sessionID == (id)[NSNull null] || sessionID.length == 0){
NSLog(@"session ID was null");
SHOW_SIGN_IN_SCREEN;
}
#define SHOW_SIGN_IN_SCREEN SignInController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"SignInScreen"];\
[self presentViewController:controller animated:NO completion:nil];
... 사용자가 "페이스 북으로 로그인"버튼을 터치하거나 화면까지 로그인
에 segues 새 계정을 만들 수 있습니다. 가입 화면은 사용자가 작성하는 양식을 가지고 있거나 Facebook의 "Facebook 가입"버튼을 탭하여 Facebook 그래프에서 제공하는 Facebook 세부 정보를 사용하여 계정을 만들 수 있습니다. 페이스 북의 콜백은 모두 내가 갇혀있는 앱 대리인에 의해 처리됩니다.
API는 새로운 사용자 또는 기존 사용자를위한 사용자 자격 증명인지 여부에 상관하지 않습니다. 두 경우 모두 API는 앱이 진행될 수있는 유효한 세션 ID를 반환합니다.
API가 응답하면 앱 위임자는 사용자를 내가 붙어있는 기본 탭 표시 줄 컨트롤러로 다시 이동해야합니다. 순간
, 나는이 이 이이 사람이 왜 SEGUE이 수행되지 않는 조언 해 줄 수 있습니다 호출되는하지만 SEGUE을 수행하지 않는
// app delegate
-(void)segueToMainTabController
{
NSLog(@"segueToMainTabController");
SignInController *controller = (SignInController *)[self.window.rootViewController presentedViewController];
[controller segueToWelcomeScreen];
}
// sign in controller
-(void)segueToWelcomeScreen
{
NSLog(@"segueToWelcomeScreen");
[self performSegueWithIdentifier:@"SignInToMainTabBar" sender:self];
}
... AppDelegate에이이 ?
감사