终止应用程序,原因是未捕获的异常 'NSInternalInconsistencyException':'无法在Bundle中加载NIB文件。'

12

我想在我的设备上运行应用程序,但在运行时出现了以下SIGART错误:

 

由于未捕获的异常“NSInternalInconsistencyException”,应用程序终止,原因是“无法加载名为'ViewController'的资源束中的NIB”

我对iOS的经验和知识非常有限,但我认为这可能与我ViewController.m文件中的以下代码片段有关。

-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    if((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]))
    {
        log = [[NSMutableString alloc] init];
    }

    return self;
}

有人知道为什么会发生这种情况吗?


https://dev59.com/qGcs5IYBdhLWcg3wlFE2 - iPatel
2个回答

27
为解决这个问题,我做了以下操作:
  1. 打开XCode目标
  2. 进入“Build phases”选项卡
  3. 点击“Copy bundle resources”部分
  4. 点击添加按钮
  5. 添加缺失的Nib文件
或者,这个问题也与Nib名称有关。检查Nib名称的拼写是否正确,它是大小写敏感的。

谢谢。那个问题是在合并后出现在我的项目中的。 - Gabriel.Massana
1
以上答案有什么问题,为什么人们一遍又一遍地对其进行负评?如果您有更好的答案,请发表。 - Anand Gautam
谢谢APG,我遇到了一个问题,我的nib名称与主xib文件不匹配,通过更新我的info.plist文件解决了这个问题,我的主nib文件名没有正确列出。我将“Main nib file base name”与我的主xib文件名匹配。 - malkoty
当复制捆绑资源没有问题时,您会怎么做?@AnandGautam - SleepsOnNewspapers
重命名标识符名称对我来说解决了这个问题。 - Gokul

1

将您的.XIB文件复制到项目目录之外的某个地方。从项目中删除该文件。然后从保存的位置重新添加它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接