2013-05-08 3 views
0

Я отключил раскадровку, изменив главную раскадровку на ничто. И я переписал все, поэтому мне не нужна раскадровка, и она работает правильно. Но в консольном журнале ожидается, что в окнах приложений будет установлен корневой контроллер в конце запуска приложения. Могу ли я просто игнорировать сообщение, и они будут одобрять мое приложение после отправки? В didFinishLaunchingWithOptions:«Окна приложений должны иметь контроллер корневого представления в конце запуска приложения» произошли после того, как я отключил раскадровку

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    self.tabBarController = [[AKTabBarController alloc] initWithTabBarHeight:65]; 
    SubscribeViewController *sub = [[SubscribeViewController alloc] initWithNibName:nil bundle:nil]; 
    UINavigationController *navControlelr = [[UINavigationController alloc] initWithRootViewController:sub]; 
    NewHomeViewController *home = [[NewHomeViewController alloc] initWithNibName:nil bundle:nil]; 
    UINavigationController *homeNav = [[UINavigationController alloc] initWithRootViewController:home]; 

    ReceivedPushViewController *receivedPush = [[ReceivedPushViewController alloc] initWithNibName:nil bundle:nil]; 

    MoreViewController *more = [[MoreViewController alloc] initWithNibName:nil bundle:nil]; 

    NSMutableArray *viewControllers = [NSMutableArray arrayWithArray:@[homeNav, navControlelr, receivedPush, more]]; 

    [self.tabBarController setViewControllers:viewControllers]; 
    [self.window setRootViewController:self.tabBarController]; 
    [self.window makeKeyAndVisible]; 

    return YES; 
} 
+0

Сбросьте симулятор и проверьте один раз. – LittleIDev

+0

@Jyotishree Нет, сообщение все еще отображается. –

ответ

2

Я попробовал ваш код, проблема возникает из-за того, что вы reinstantiate окна приложения, которое вам не нужно делать. Если вы просто удалите эту первую строку кода self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];, ваше приложение должно работать в любом случае, и предупреждение должно исчезнуть.

+0

Но у меня черный экран. –

+0

Вы правы, у меня все еще был главный файл nib, и поэтому мне не нужно было назначать-init мой self.window. Я сейчас попробовал вашу настройку, и self.window действительно нуждается в инициализации, однако ваш код отлично работает и не дает мне никаких предупреждений (нет раскадровки, нет файлов xib, все сделано через код)! – micantox

+0

Вы удалили свойство «Основное имя файла раскадровки» в файле проекта plist? – micantox