从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;
}
答案 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文件)