终止应用程序:无法加载捆绑的NIB:'NSBundle …'名称为'7bK-jq-Zjz-view-r7i-6Z-zg0'

该应用程序运行良好时,在iPhone模拟器上运行,但在iPad的视网膜模拟器运行,我看到这个崩溃:

2015-04-15 18:39:13.814 [17308:2881892] ***终止应用程序,由于未捕获的exception'NSInternalInconsistencyException',原因:'无法在捆绑中加载NIB:'NSBundle .app>(已装载) 7bK-JQ-Zjz – 视图 – r7i-6Z-zg0 ''

不知道发生了什么事。 我没有这个奇怪名称的nib / xib文件:'7bK-jq-Zjz-view-r7i-6Z-zg0'

自从我尝试运行ipad模拟器已经有一段时间了。 我同时发生了一些重大的变化(我不确定是否导致了这个问题):1.重命名项目2.升级到Swift 1.2。 由于Sift已经在1.2版本了,所以在这个改变之前,它并没有帮助恢复项目。

我将如何去解决它?

UPDATE

我查看了故事板源代码(按照Kamal的build议),发现“7bK-jq-Zjz”是一个表视图控制器的ID(这个控制器是一个标签栏控制器的第一个选项卡,而后者又是主视图的分割视图控制器)。

奇怪的代码“r7i-6Z-zg0”的第二部分原来是上述表视图控制器中的表视图的ID。

我试了两件事:

  1. 重新创build了分割视图控制器和标签栏控制器。 与iPad的模拟器(仍然iPhone模拟器运行良好)看到同样的崩溃。
  2. 重新创build了麻烦的表视图控制器。 仍然看到相同的崩溃,现在使用不同的代码/签名,因为ID现在是新的(对于新创build的表格和表格视图控制器)。

这是新的崩溃:

2015-04-17 22:10:01.427 [33373:6444860] ***终止应用程序由于未捕获的exception'NSInternalInconsistencyException',原因:'无法加载包中的NIB:'NSBundle .app>(已装载) 3HH-RB-vwq – 视图 – 1D1-KQ-VZM ''

正如所提到的iPhone模拟器运行良好 – 不是iPad。 但是,当定位到横向模式时(即当分割视图未被折叠时),iPhone 6 plus有时会崩溃。

– 结束更新

*** First throw call stack: ( 0 CoreFoundation 0x0031f746 __exceptionPreprocess + 182 1 libobjc.A.dylib 0x01f33a97 objc_exception_throw + 44 2 CoreFoundation 0x0031f66d +[NSException raise:format:] + 141 3 UIKit 0x0109fe2f -[UINib instantiateWithOwner:options:] + 1003 4 UIKit 0x00eba124 -[UIViewController _loadViewFromNibNamed:bundle:] + 270 5 UIKit 0x00eba8bb -[UIViewController loadView] + 295 6 UIKit 0x010c069e -[UITableViewController loadView] + 77 7 UIKit 0x00ebaaef -[UIViewController loadViewIfRequired] + 78 8 UIKit 0x00ebb095 -[UIViewController view] + 35 9 UIKit 0x00f0ad2f -[UITabBarController transitionFromViewController:toViewController:transition:shouldSetSelected:] + 426 10 UIKit 0x00f0a36f -[UITabBarController transitionFromViewController:toViewController:] + 64 11 UIKit 0x00f0652b -[UITabBarController _setSelectedViewController:] + 339 12 UIKit 0x00f062e5 -[UITabBarController setSelectedIndex:] + 115 13 UIKit 0x00f05e91 __51-[UITabBarController _setViewControllers:animated:]_block_invoke394 + 43 14 UIKit 0x00ddfd4f +[UIView(Animation) performWithoutAnimation:] + 82 15 UIKit 0x00f05d3d -[UITabBarController _setViewControllers:animated:] + 3627 16 UIKit 0x00f04403 -[UITabBarController _updateLayoutForTraitCollection:] + 302 17 UIKit 0x00f03e73 __80-[UITabBarController willTransitionToTraitCollection:withTransitionCoordinator:]_block_invoke + 69 18 UIKit 0x0125f107 -[_UIViewControllerNullAnimationTransitionCoordinator _applyBlocks:releaseBlocks:] + 198 19 UIKit 0x0125ed9a -[_UIViewControllerNullAnimationTransitionCoordinator _runAlongsideAnimations] + 148 20 UIKit 0x00ed8063 -[UIViewController(UIContainerViewControllerProtectedMethods) setOverrideTraitCollection:forChildViewController:] + 399 21 UIKit 0x01248a10 -[UISplitViewController _setMasterOverrideTraitCollectionActive:] + 127 22 UIKit 0x0124435a -[UISplitViewController initWithCoder:] + 112 23 UIKit 0x0122392e UINibDecoderDecodeObjectForValue + 739 24 UIKit 0x01223643 -[UINibDecoder decodeObjectForKey:] + 371 25 UIKit 0x010a0c1a -[UIRuntimeConnection initWithCoder:] + 189 26 UIKit 0x0122392e UINibDecoderDecodeObjectForValue + 739 27 UIKit 0x01223b30 UINibDecoderDecodeObjectForValue + 1253 28 UIKit 0x01223643 -[UINibDecoder decodeObjectForKey:] + 371 29 UIKit 0x0109fed0 -[UINib instantiateWithOwner:options:] + 1164 30 UIKit 0x0135d185 -[UIStoryboard instantiateViewControllerWithIdentifier:] + 220 31 UIKit 0x0135d301 -[UIStoryboard instantiateInitialViewController] + 74 32 UIKit 0x00d556fc -[UIApplication _loadMainStoryboardFileNamed:bundle:] + 79 33 UIKit 0x00d55984 -[UIApplication _loadMainInterfaceFile] + 245 34 UIKit 0x00d542f4 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1337 35 UIKit 0x00d6d93e __84-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:]_block_invoke + 59 36 UIKit 0x00d5304a -[UIApplication workspaceDidEndTransaction:] + 155 37 FrontBoardServices 0x0451ec9e __37-[FBSWorkspace clientEndTransaction:]_block_invoke_2 + 71 38 FrontBoardServices 0x0451e72f __40-[FBSWorkspace _performDelegateCallOut:]_block_invoke + 54 39 FrontBoardServices 0x04530d7c __31-[FBSSerialQueue performAsync:]_block_invoke_2 + 30 40 CoreFoundation 0x00241050 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 16 41 CoreFoundation 0x00236963 __CFRunLoopDoBlocks + 195 42 CoreFoundation 0x002367bb __CFRunLoopRun + 2715 43 CoreFoundation 0x00235a5b CFRunLoopRunSpecific + 443 44 CoreFoundation 0x0023588b CFRunLoopRunInMode + 123 45 UIKit 0x00d52a02 -[UIApplication _run] + 571 46 UIKit 0x00d56106 UIApplicationMain + 1526 47 IDZZZ 0x000a3ad4 main + 180 48 libdyld.dylib 0x02644ac9 start + 1 

我有这个问题从iOS 8.3开始,并最终解决了这个问题。 我曾希望这个问题将在iOS 8.4中得到解决,但并不是这样,我认为这不是一个错误。

我有一个UISplitViewController与2个UINavigationController作为主/细节视图。 主视图UINavigationController有一个UITabBarController。 当这是失败,有3个UITableViewControllers作为UITabBarController的子视图。 错误正是你所拥有的:尽pipe“nib”肯定存在于故事板中,并且在iPhone上正常工作,但是iOS 8.3+尝试加载标签栏的第一个子视图时会抛出错误。

我的修补程序是在UITabBarController和每个UITableViewController子视图之间插入一个UINavigationController。 所以,而不是UITabBarController与“视图控制器”关系到3 UITableViewControllers,UITabBarController现在有“视图控制器”关系到3 UINavigationControllers和每个这些UINavigationControllers具有“根视图控制器”关系的UITableViewControllers之一。

这可能为时已晚,但我希望它能帮助别人。

你使用UISplitController吗? 在这种情况下,我解决了我的问题,删除master和detail的故事板segue,并以编程方式添加它们

你确定你包括了一切吗? 确保select所有故事板并添加到成员身份,在侧栏第一个选项卡中。