NSInternalInconsistencyException, reason: Could no

2020-01-29 07:11发布

I've gone through a bunch of answers regarding this problem but none seem to relate to my problem.

I have two views, View 1 has a button. View 2 has a button.

View 1 button is tied to a model segue to View 2.

I click the Button in View 1, it opens up View 2.

In View 2 the button is connected to an IBAction which fires

[self dismissViewControllerAnimated:YES completion:nil];

Which closes the View and displays View 1 again - Now if I press the Button on View 1 again I get

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle <x/y/z/SomeApp.app> (loaded)' with name 'tvz-Io-ndz-view-rB8-bq-l6j' and directory 'Main.storyboardc''

I'm completely lost how to fix this problem. Please help!

EDIT:

  • This only happens when the device doesn't have internet
  • If I have a third screen in the chain with a webview which renders an image, if I goto that screen from View 2 the app doesn't crash.

EDIT 2:

I've also tried rebuilding the screen from scratch.

I'm completely baffled.

EDIT 3: Full Stacktrace

2015-01-19 09:10:58.528 SomeApp[37747:2203364] *** Terminating app due to
 uncaught exception 'NSInternalInconsistencyException', reason: 'Could not 
load NIB in bundle: 'NSBundle     
</Users/user/Library/Developer/CoreSimulator/Devices/D23C1B7C-7330-
466E-8369-762C6727B19C/data/Containers/Bundle/Application/AE67C3D3-C5AE-
4A66-91EC-54D976A4A4FC/SomeApp.app> (loaded)' with name 'tvz-Io-ndz-view-
rB8-bq-l6j' and directory 'Main.storyboardc''

*** First throw call stack:
(
    0   CoreFoundation                      0x01f64946 __exceptionPreprocess + 182
    1   libobjc.A.dylib                     0x01beda97 objc_exception_throw + 44
    2   CoreFoundation                      0x01f6486d +[NSException raise:format:] + 141
    3   UIKit                               0x008f8e06 -[UINib instantiateWithOwner:options:] + 1003
    4   UIKit                               0x0071b624 -[UIViewController _loadViewFromNibNamed:bundle:] + 270
    5   UIKit                               0x0071bdbb -[UIViewController loadView] + 295
    6   UIKit                               0x0071bfef -[UIViewController loadViewIfRequired] + 78
    7   UIKit                               0x0071c595 -[UIViewController view] + 35
    8   UIKit                               0x00d8f707 -[_UIFullscreenPresentationController _setPresentedViewController:] + 75
    9   UIKit                               0x006f1a81 -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 113
    10  UIKit                               0x00729a61 -[UIViewController _presentViewController:withAnimationController:completion:] + 2102
    11  UIKit                               0x0072c5d2 __62-[UIViewController presentViewController:animated:completion:]_block_invoke + 345
    12  UIKit                               0x0072c424 -[UIViewController presentViewController:animated:completion:] + 224
    13  UIKit                               0x0072c8ea -[UIViewController presentModalViewController:animated:] + 57
    14  UIKit                               0x00bf448d -[UIStoryboardModalSegue perform] + 271
    15  UIKit                               0x00be1b49 -[UIStoryboardSegueTemplate _perform:] + 217
    16  UIKit                               0x00be1bc5 -[UIStoryboardSegueTemplate perform:] + 116
    17  UIKit                               0x006d4907 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1490
    18  UIKit                               0x006d4af7 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 285
    19  UIKit                               0x006d9df3 __38-[UITableView touchesEnded:withEvent:]_block_invoke + 43
    20  UIKit                               0x005ee0ce ___afterCACommitHandler_block_invoke + 15
    21  UIKit                               0x005ee079 _applyBlockToCFArrayCopiedToStack + 415
    22  UIKit                               0x005ede8e _afterCACommitHandler + 545
    23  CoreFoundation                      0x01e879de __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30
    24  CoreFoundation                      0x01e87920 __CFRunLoopDoObservers + 400
    25  CoreFoundation                      0x01e7d35a __CFRunLoopRun + 1226
    26  CoreFoundation                      0x01e7cbcb CFRunLoopRunSpecific + 443
    27  CoreFoundation                      0x01e7c9fb CFRunLoopRunInMode + 123
    28  GraphicsServices                    0x043d524f GSEventRunModal + 192
    29  GraphicsServices                    0x043d508c GSEventRun + 104
    30  UIKit                               0x005c48b6 UIApplicationMain + 1526
    31  SomeApp                             0x000e482d main + 141
    32  libdyld.dylib                       0x027e8ac9 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

James

8条回答
2楼-- · 2020-01-29 07:45

In my case exact same exception was caused by the fact that two controllers had same storyboard id (within one storyboard)

查看更多
混吃等死
3楼-- · 2020-01-29 07:48

If you're working with cocoapods, it may also help to run pod update. One of my teammates changed a pod around which resulted in that error, so pod update fixed it for me.

查看更多
做个烂人
4楼-- · 2020-01-29 07:49

I tried all above answer but they didn't work. For me, the solution was to include the xib to the target resource.

Steps performed:

  • Click on xib file.
  • Open Identity Inspector -> Target Membership and check second option (ProjectName_Resource)
查看更多
\"骚年 ilove
5楼-- · 2020-01-29 07:49

You may have to setup the bundle for the class before accessing the xib:

ObjectiveC:

//Bundle initialisation
NSBundle* bundle = [NSBundle bundleForClass:[self class]];

//Initialising the nib
UIView *nibView = [[bundle loadNibNamed:@"nibFileName" owner:self options:nil] objectAtIndex:0];

//Display the ad (this will vary based on your application setup)
[[[UIApplication sharedApplication] keyWindow] addSubview:nibView];
查看更多
We Are One
6楼-- · 2020-01-29 07:52

It's also possible the UITableViewDataSource or UITableViewDelegate are not implemented in the desired UIViewController

查看更多
叛逆
7楼-- · 2020-01-29 07:53

I faced this when I extracted a .app from a zip file and attempted to run it, both on an iOS device and on Simulator.

One .nib file had been named with non-latin characters (fileNormal.nib with the greek letters No) and when extracted from the zip, it was assigned letters from another charset (it should be Greek-DOS or something compatible). I chose a different charset upon extraction and it worked as it should.

Just putting this in case someone else faces the same problem ;)

查看更多
登录 后发表回答