gpt4 book ai didi

ios - 仅在通用应用程序中在 iPad 上加载主 xib 时崩溃?

转载 作者:行者123 更新时间:2023-11-28 23:10:31 25 4
gpt4 key购买 nike

我有一个通用应用程序,但这个问题似乎只与 iPad 有关,与 iPhone 无关,因为 iPhone 版本加载了正确的 XIB。

问题是,它没有为我的应用程序加载我的主 XIB。 我这样命名 XIB:

  1. 对于 iPhone:MyViewController.xib

    1. 对于 iPad:MyViewController_iPad.xib

我还删除了我的 MainWindow.xib,因为在通用应用程序的模板项目中,它在任何地方都没有显示 MainWindow.xib。

这就是我尝试在应用启动时加载 View 的方式:

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.

此外,如果我单击我的产品然后在查找器中显示,然后显示包内容,MyViewController.xib 或 MyViewController_iPad.xib 不存在。应该是这样吗?

最佳答案

确保你的 nib 真的真的真的真的叫做 MyViewController_iPad.xib,并且大小写完全一样。

确保 xib 文件在目标列表中,以便在构建时复制到应用。

最后,确保您的 Info.plist 文件中没有 Main Nib 设置。

哦,还有一件事。不需要此代码:

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];
}

只需调用 initWithNibName:@"MyViewController"。如果您的 iPad Nib 名为 MyViewController~ipad.xib(注意旋转,注意小写的“ipad”),当您使用 iPad 时,它会被自动选择。

关于ios - 仅在通用应用程序中在 iPad 上加载主 xib 时崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8420090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com