JSQMessagesViewController与'NSInternalInconsistencyException'崩溃

时间:2016-10-19 14:55:59

标签: ios objective-c cocoapods jsqmessagesviewcontroller

我正在使用通过Cocoapods安装的JSQMessages。

我开始遇到这种崩溃:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </Users/XXX/Library/Developer/CoreSimulator/Devices/E4479289-9068-420E-8D2E-C147129BD60E/data/Containers/Bundle/Application/81C1166D-426F-4C68-B3FB-89164E2C35DC/XXXXXXXXXX.app> (loaded)' with name 'JSQMessagesViewController''

*** First throw call stack:
(
    0   CoreFoundation                      0x000000011304434b __exceptionPreprocess + 171
    1   libobjc.A.dylib                     0x0000000112aa521e objc_exception_throw + 48
    2   CoreFoundation                      0x00000001130ad265 +[NSException raise:format:] + 197
    3   UIKit                               0x000000011143901a -[UINib instantiateWithOwner:options:] + 507
    4   XXXXXXXXXXXX                        0x000000010e2fb3bf -[JSQMessagesViewController viewDidLoad] + 143

这种方法崩溃了:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [[[self class] nib] instantiateWithOwner:self options:nil];

    [self jsq_configureMessagesViewController];
    [self jsq_registerForNotifications:YES];
}

我已经搜索并尝试了StackOverflow和其他网站中提出的许多解决方案,并且我花了两天时间没有成功。

请帮我指出正确的方向。 谢谢!

1 个答案:

答案 0 :(得分:0)

我最终通过以下方式解决了这个问题:

  1. 添加新的&#34;复制捆绑资源&#34; pod目标的构建阶段的阶段 Pod目标 - &gt;编辑 - &gt;添加构建阶段 - &gt;添加Copy Bundle Build 相

  2. 使用+按钮手动将JSQMessages使用的所有XIB文件添加到创建的阶段。

  3. 删除派生文件夹中的所有内容

  4. 重启我的Mac。是的,真的,这里没有神奇的想法。 XCode充满了人类无法解码的misteries。