【问题标题】:iOS app with Storyboard crashing with *'NSInternalInconsistencyException', reason: 'The NIB data is invalid.'带有 Storyboard 的 iOS 应用程序因 *'NSInternalInconsistencyException' 而崩溃,原因:'NIB 数据无效。'
【发布时间】:2012-11-01 05:26:22
【问题描述】:

我们有一个使用 iOS 6 sdk(可在 iOS 5 上部署)使用 Storyboards 构建的应用程序,它在 iOS 5(仅)中崩溃并出现以下错误:

[myApp] * 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“NIB 数据无效。”

有问题的场景是 UITableViewController 的子类,它包含一个 UITableView 和一个添加的 UITextView 属性。

我不知道什么是无效的,也不知道为什么它在 iOS 6 中可以正常工作。

有什么想法吗?

PS:我看到一个关于笔尖和创建自定义单元格的问题似乎很相似,建议关闭自动布局,但是这个应用程序使用故事板,有静态单元格,并且自动布局已经关闭。

【问题讨论】:

  • 您的表格视图控制器中是否有任何代码?尝试首先确定导致错误的原因。尝试使用空视图控制器,然后空表视图控制器等...
  • @Lukas1 UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myImage"]]; self.tableView.backgroundView = imageView; 是我在视图控制器中拥有的唯一自定义代码。我可能只需要拆除它并重建它。

标签: ios ios5 ios6 uistoryboard xcode-storyboard


【解决方案1】:

确保您没有为该视图启用“使用自动布局”。在 ios 6 之前的版本上运行时会抛出该错误。

【讨论】:

  • 已关闭。我看到了另一个问题。我单击了控制器和视图中的每个 UI 元素(甚至包括所有静态单元格),并且都未选中该框。
【解决方案2】:

我建议以下清单

  1. 确保未选中自动布局复选框
  2. 在 IB 中,转到 File Inspector > Document Versioning > Deployment 并确保它是 iOS 5.1 或更低版本,并且 > Development 确保它是以前版本的 XCode (XCode 4.5)
  3. 将文件类型从 [Default - Interface Builder Cocoa Touch XIB] 更改为任何其他 C 源代码或其他内容,然后转到其他文件并返回并更改回 [Default - Interface Builder Cocoa Touch XIB]

第 3 份清单救了我很多次。AAPL 的开发工具真的很蹩脚和有缺陷

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 1970-01-01
    • 2020-09-09
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多