【发布时间】:2012-01-15 05:54:27
【问题描述】:
我有一个通用应用程序,但这个问题似乎只与 iPad 相关,与 iPhone 无关,因为 iPhone 版本加载了正确的 XIB。
问题几乎是,它没有为我的应用加载我的主 XIB。 我这样命名 XIB:
-
对于 iPhone:MyViewController.xib
- 对于 iPad:MyViewController_iPad.xib
我还删除了我的 MainWindow.xib,因为在通用应用程序的模板项目中,它在任何地方都没有显示 MainWindow.xib。
这就是我尝试在应用启动时加载视图的方式:
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
self.viewController = [[[ocrapiViewController alloc] initWithNibName:@"MyViewController" bundle:nil] autorelease];
} else {
self.viewController = [[[ocrapiViewController alloc] initWithNibName:@"MyViewController_iPad" bundle:nil] autorelease];
}
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
这是崩溃信息:
此行上的 SIGABRT [self.window makeKeyAndVisible];
这是崩溃日志:
2011-12-07 07:37:46.560 ocrapi[763:607] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </var/mobile/Applications/29F4CD7A-149E-46EA-B280-3D188PP19D17/.app> (loaded)' with name 'MyViewController_iPad''
编辑1: 这是消息:
warning: No copy of <No file name> found locally, reading from memory on remote device. This may slow down the debug session.
另外,如果我点击我的产品然后在 finder 中显示,然后显示包内容,MyViewController.xib 或 MyViewController_iPad.xib 不存在。应该是这样的吗?
【问题讨论】:
-
分配
self.window.rootViewController时,检查self.viewController是否不为空。 -
不,它不是 NULL 我只是 NSLogged