“应用程序窗口应该在应用程序启动结束时有一个根视图控制器”在我禁用情节提要后发生
Posted
技术标签:
【中文标题】“应用程序窗口应该在应用程序启动结束时有一个根视图控制器”在我禁用情节提要后发生【英文标题】:"Application windows are expected to have a root view controller at the end of application launch" occurred after I disable storyboard 【发布时间】:2013-05-08 11:35:14 【问题描述】:我通过将主故事板更改为空来禁用故事板。而且我已经重写了所有内容,因此我不需要故事板并且它可以正常工作。但是在控制台日志中,应用程序窗口应该在应用程序启动结束时有一个根视图控制器。 我可以忽略这条消息,他们会在提交后批准我的应用程序吗? 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;
【问题讨论】:
重置模拟器并检查一次。 @Jyotishree 不,消息仍在显示。 【参考方案1】:我试过你的代码,问题是你重新实例化了应用程序窗口,你不需要这样做。如果您只是删除第一行代码self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
,您的应用程序应该可以正常工作,并且警告应该会消失。
【讨论】:
你说得对,我还有一个主 nib 文件,这就是为什么我不需要分配初始化我的 self.window 我现在实际上尝试了你的设置,而 self.window 确实需要初始化,但是,您的代码可以正常工作并且没有给我任何警告(没有故事板,没有 xib 文件,全部通过代码完成)! 你是否删除了项目plist文件中的“Main storyboard file base name”属性? 能否使用storyboard创建一个项目,然后禁用storyboard并再次尝试代码?因为我想知道这是因为缺少故事板,但代码正在运行,系统无法解决这个问题。 我试过了!无论我做什么,我都不会得到那个警告!我试过: - 删除情节提要文件而不更改项目设置,留下情节提要文件并编辑项目属性以便它不会使用它,删除文件并编辑项目情节提要属性,甚至留下情节提要文件和项目属性! 我明白了。我可以忽略这条消息吗?以上是关于“应用程序窗口应该在应用程序启动结束时有一个根视图控制器”在我禁用情节提要后发生的主要内容,如果未能解决你的问题,请参考以下文章