从4.4升级到Xcode 4.5后出现差异

时间:2012-09-22 18:54:07

标签: iphone ios xcode

从4.4升级到Xcode 4.5后,我运行了我在v 4.4中创建的应用程序。虽然应用程序编译正确,但我在Debug区域的Output部分看到以下消息:

Application windows are expected to have a root view controller at the end of application launch.

有人可以告诉我为什么升级后会看到此消息?我经历了类似问题的一些答案。但我没有找到任何告诉我为什么在升级后看到此消息的内容。

谢谢!

编辑1:

我是否应该将代码合并到AddDelegate.m中。如果是的话,我在写完一本书时做了类似的事情。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    [[NSBundle mainBundle] loadNibNamed:@"TabBarController" owner:self options:nil] 
    [self.window addSubview:rootController.view];

    [self.window makeKeyAndVisible];
    return YES;
}

2 个答案:

答案 0 :(得分:4)

在iOS 3.x及更低版本中,您曾经这样做过:

[window addSubview:tabBarController.view]

从iOS 4开始,规范的方法就是这样做:

window.rootViewController = tabBarController;

如果您不需要支持iOS 2.x / 3.x,那么您应该升级代码以执行后者。

IIRC,自iOS 5以来就存在警告。这取决于您运行的iOS版本,而不是Xcode版本。

答案 1 :(得分:2)

如果您以编程方式设置了视图控制器,那么在您的应用代理didFinishLaunchingWithOptions方法中尝试以下方法:

[self.window setRootViewController: yourRootViewController];

如果您通过XIB设置视图控制器,那么如果设置正确,则应默认设置根视图控制器! (这可能是项目中的MainWindow.xib文件)