2010-09-23 55 views
0

我正在模拟iPad中的“仅限iPhone”应用程序。这个二进制文件在iPhone模拟器中很好地模拟,但是当试图在iPad中模拟时,会出现最初的背景图像,但是屏幕会变黑。 (Xcode v4.1,SDK 4.1)iPhone应用程序视图无法在iPad中加载,但在iPhone模拟器中加载

该应用程序只有一个视图,它由一个自定义的UIViewController控制。 (SoloViewController)由SoloViewController管理的唯一视图包含在名为“mainview.xib”的“分离”nib中。

我初始化SoloViewController在我的AppDelegate像这样:

- (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文件具有“主笔尖文件基本名称”设置为“主窗口”,我相信这是默认的Xcode给你当你第一次创建一个基于ViewController的项目。无论如何,我只是保持原样。但是,试图在iPad上进行模拟时,日志说:

Failed to load NSMainNibFile MainWindow. 

iPhone模拟器和硬件有这个没有问题......

如果我设置了“主笔尖文件基本名称”键“ MAINVIEW”使用厦门国际银行文件的看法,我得到这个错误:

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的厦门国际银行和所有网点的正确定义和连接到SoloViewController.h & SoloViewController。米我在这里做错了什么!?

另外 - 如果我将NSMainNibFile留空,那么iPhone模拟器只会出现黑屏。 (日志中没有错误)

回答

2

事实证明该项目,在这种情况下需要一个MainWindow.xib文件。在我的情况下,我不经意地从原始项目模板中删除了这个文件,并认为它没问题,因为它在硬件中模拟并运行良好。 (iPhone)MainWindow.xib文件需要一个类型为“UIApplication”的文件所有者,类型为“UIResponder”的第一响应者,这是指向您的应用程序委托的自定义类型的应用程序委托。 (名称将根据您的项目命名而有所不同)最后,有一个类型为UIWindow的窗口。所有这些都是默认设置,但App Delegate除外。

一旦我包含这种配置的xib,应用程序在iPhone & iPad模拟器中按预期加载。 (仍然不清楚为什么iPad模拟器会以不同的方式处理MainWindow.xib文件)

+0

请问您可以发布满足这些要求的示例XIB吗?也许在pastebin.com上。我无法复制工作的应用程序:( – expert 2013-08-28 23:09:44

+0

伟大的博客文章有关它是如何工作的:http://oleb.net/blog/2012/02/app-launch-sequence-ios-revisited/ – expert 2013-08-29 01:03:57

0

当您在您的代码中引用常量(或通过IB代码生成)时,iOS 4x或更高版本中定义的常量,而iPad运行3.2x,并且对这些常数一无所知关键定义。

确保您的目标的iOS部署目标已设置为iOS 3.2,而基本SDK为4.1。如果您更改了这些值,请在重新编译前进行清理。不幸的是,在这种情况下,我认为你不会看到编译器警告。

希望有所帮助。

+0

嗯。尼斯认为,但结果相同。 iOS部署目标设置为:iOS 3.2,基础SDK到4.1设备(或模拟器,具有相同的结果)。 – Sly 2010-09-24 15:26:56

相关问题