6

我在控制台中收到“应用程序应该在应用程序启动结束时有一个根视图控制器”语句,而应用程序在显示启动屏幕后没有打开。我的应用程序:didFinishLaunchWithOptions 方法是:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]];
UIViewController *initViewController = [storyboard instantiateViewControllerWithIdentifier:@"FirstInfo"];

[self.window setRootViewController:initViewController];
[self.window makeKeyAndVisible];
[self.window makeKeyWindow];
return YES;

main.m 为:

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

    }
}

该应用程序以前运行良好。从今天开始,这只是一个快速不起作用的过程。我在应用程序中使用 ARC 和 Storyboard。请建议。

4

5 回答 5

15

将“MainStoryboard”添加到您的项目中,并将构建设置中的 Main Storyboard 选项设置为“MainStoryboard”

然后,更新 AppDelegate 方法:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return YES;
}

有用。

于 2013-02-24T09:41:48.323 回答
1

确保从情节提要返回的控制器不是nil.

编辑当你在它......你在哪里创建self.window

于 2012-09-19T12:39:52.540 回答
1

我会在调试器中逐步完成,并确保像

[storyboard instantiateViewControllerWithIdentifier:@"FirstInfo"]

正在返回您所期望的。

我会确保有问题的情节提要视图控制器实际上具有标识符“FirstInfo”而不是“Firstinfo”或“FirstInfo”。

我还要确保故事板是文件检查器中应用程序目标的成员。

希望其中之一是原因。

于 2012-09-19T20:25:00.067 回答
0

在情节提要中,选择 rootViewController 并在左侧实用程序菜单中选中“是初始视图控制器”。

于 2013-02-24T09:50:16.460 回答
0

我已在构建设置中将 Main Storyboard 选项设置为“MainStoryboard 在此处输入图像描述

它的工作!

于 2012-09-19T12:48:42.750 回答