下面列出的错误是什么?
2011-02-23 21:24:12.218成功[7238:207] *由于未捕获的异常'NSInternalInconsistencyException'终止应用程序,原因:'无法在bundle中加载NIB:'NSBundle </ Users / jimkillen12 / Library / Application Support / iPhone模拟器/ 4.2 /应用程序/ BAA5E0E7-AF12-4301-A4F8-1B9797C9E82D / Success.app>(已加载)'名称为'MainWindow-iPad''
项目中缺少一个NIB文件,添加所需的NIB文件:
在构建阶段
+
通过Shift+Cmd+K
清理你的构建,然后运行。
附:同时确保在调用initWithNibName:@"ViewNameController"
时使用NIB文件的精确拼写
可能您已使用小写字母在呼叫中命名了您的NIB,或者您可能还包含了不需要的扩展名.xib。
另一个可能的问题:您在iOS 5上使用Base Localization(注意,它在iOS模拟器上有效,但在设备上没有),但仅从iOS 6开始支持。
有关更多信息,请参阅:Could not load nib in bundle base internationalization
如果您尝试在从nib中拾取的集合视图中加载collectionView单元格,那么您可能会看到错误“'NSInternalInconsistencyException',原因:'无法在bundle中加载NIB:'NSBundle”当您加载时从nib文件中收集视图,您没有选择在nib上声明集合视图单元与故事板不同。正确的方法是使用新的笔尖创建一个新的自定义单元格,然后将其加载到集合视图中。注意:不要忘记注册新自定义集合单元格的nib。
也许,您已使用小写字母在呼叫中命名了您的NIB。在这种情况下,模拟器工作正常,但iPhone设备将在运行时返回错误。
例如,
DetailViewController *detailViewController = [[DetailViewController alloc]
initWithNibName:@"detailViewController" bundle:nil];
将失败。您需要更改为:
DetailViewController *detailViewController = [[DetailViewController alloc]
initWithNibName:@"DetailViewController" bundle:nil];
在Build Settings中,添加Architecture = >> armv6和armv7
我刚用这个删除了我的错误
我有同样的问题,但这是因为我写了扩展名.xib,它不是必要的
token_view = [[GetToken alloc] initWithNibName:@"GetToken_iPad.xib" bundle:nil];
代替
token_view = [[GetToken alloc] initWithNibName:@"GetToken_iPad" bundle:nil];
在我的情况下是下一个:
我在代码XIB中加载了名称为“?????? Ipad”,但是XIB文件名是“?????? IPad”
是否有与NIB相关的警告?这通常是针对NIB文件中的错误(例如不正确的NIB类型)。
右键单击该文件,然后单击“获取信息”以验证该类型是否符合预期。
请确保您的nib / xib文件包含在相应的目标成员中。
我有同样的问题只是按照步骤。
1.将您的项目复制到另一个地方。
2.复制您的NIB文件哪个崩溃应用程序。
3.只需更改名称
防爆。旧文件Demo.xib比复制和更改名称DemoNew.xib
我的代码在下面
旧代码
Demo *controller = [[Demo alloc]initWithNibName:@"Demo" bundle:nil];
我只是改名
Demo *controller = [[Demo alloc]initWithNibName:@"DemoNew" bundle:nil];
它为我工作。
只需检查项目中是否存在MainWindow.xib
文件。如果没有,只需添加名为MainWindow.xib
的新接口文件。