【发布时间】:2011-04-16 13:02:12
【问题描述】:
我正在 iPad 中模拟“仅限 iPhone”的应用程序。该二进制文件在 iPhone 模拟器中模拟得很好,但在 iPad 中尝试模拟时,会出现初始背景图像,但随后屏幕变黑。 (Xcode v4.1, SDK 4.1)
应用程序只有一个视图,由单个自定义 UIViewController 控制。 (SoloViewController) SoloViewController 管理的唯一视图包含在名为“mainview.xib”的“分离”nib 中。
我在 AppDelegate 中初始化 SoloViewController,如下所示:
- (void)applicationDidFinishLaunching:(UIApplication *)application {
SoloViewController *vc = [[SoloViewController alloc] initWithNibName:@"mainview" bundle:[NSBundle mainBundle]];
self.soloViewController=vc;
[vc release];
[window addSubview:[soloViewController view]];
[window makeKeyAndVisible];
}
我的 Info.plist 文件将“Main nib file base name”设置为“MainWindow”,我相信这是您首次创建基于 ViewController 的项目时 Xcode 为您提供的默认值。无论如何,我只是保持原样。但是,当尝试在 iPad 中进行模拟时,日志显示:
Failed to load NSMainNibFile MainWindow.
iPhone模拟器和硬件都没有这个问题...
如果我将“Main nib file base name”键设置为“mainview”以使用 xib 文件进行视图,我会收到以下错误:
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIApplication 0x7a01270> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key view.'
我已经仔细检查了 IB 中的 xib,所有插座都已正确定义并连接到 SoloViewController.h 和 SoloViewController.m。我在这里做错了什么!?
另外 - 如果我将 NSMainNibFile 留空,那么 iPhone 模拟器只会出现黑屏。 (日志中没有错误)
【问题讨论】:
标签: iphone ipad initialization ios-simulator