终止应用:无法在捆绑中加载NIB:' NSBundle ...'名称' 7bK-jq-Zjz-view-r7i-6Z-zg0'

时间:2015-04-13 20:57:50

标签: ios xcode swift

iphone 模拟器中运行该应用程序运行正常,但在 ipad 视网膜模拟器中运行它,我看到此崩溃:

2015-04-15 18:39:13.814 [17308:2881892] ***由于未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:'无法在捆绑中加载NIB:& #39; NSBundle .app> (加载)'名称' 7bK-jq-Zjz-view-r7i-6Z-zg0''

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

我尝试运行ipad模拟器已经有一段时间了。与此同时发生了一些重大变化(我不确定是否会导致此问题): 1.重命名该项目 2.升级到Swift 1.2。由于Sift已经在1.2上,因此无法将项目恢复到此更改之前。

我将如何进行故障排除?

更新

我查看了故事板来源(根据Kamal的建议),发现' 7bK-jq-Zjz'是表视图控制器的ID(此控制器是选项卡栏控制器的第一个选项卡,它又是拆分视图控制器的主视图)。

奇怪代码的第二部分' r7i-6Z-zg0',结果是所提到的表视图控制器内的表视图的ID。

我尝试了两件事:

  1. 重新创建拆分视图控制器和标签栏控制器。与ipad模拟器相同的崩溃(仍然是iphone模拟器正常运行)。
  2. 重新创建麻烦的表视图控制器。仍然看到相同的崩溃,现在使用不同的代码/签名,因为ID现在是新的(对于新创建的表和表视图控制器)。
  3. 这是新的崩溃:

    2015-04-17 22:10:01.427 [33373:6444860] ***由于未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:'无法在捆绑中加载NIB:& #39; NSBundle .app> (加载)'名称' 3hh-RB-vwq-view-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
    

3 个答案:

答案 0 :(得分:3)

我从iOS 8.3开始就遇到了这个问题,最后解决了它。我曾希望这个问题能在iOS 8.4中修复,但它并不是因为我认为它不是一个错误。

我有一个带有2个UINavigationControllers的UISplitViewController作为主/详细视图。主视图UINavigationController有一个UITabBarController。当这个失败时,有3个UITableViewControllers作为UITabBarController的子视图。错误正是你所拥有的:iOS 8.3+在尝试加载标签栏的第一个子视图时抛出错误,即使" nib"肯定会出现在故事​​板中并在iPhone上运行良好。

我的修复是在UITabBarController和每个UITableViewController子视图之间插入一个UINavigationController。因此,而不是UITabBarController与"查看控制器"与3个UITableViewControllers的关系,UITabBarController现在有"查看控制器"与3个UINavigationControllers的关系以及每个UINavigationControllers都有"根视图控制器"与其中一个UITableViewControllers的关系。

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

您确定包含所有内容吗?确保选择所有故事板并添加到会员,在侧栏,第一个选项卡。