【问题标题】:Added, then deleted a ~ipad.xib. Now NSInternalInconsistencyException when running on iPad添加,然后删除~ipad.xib。现在在 iPad 上运行时出现 NSInternalInconsistencyException
【发布时间】:2012-06-08 17:21:12
【问题描述】:

为了将 iPhone 应用程序转换为通用应用程序,我将 MyViewController~ipad.xib 添加到我的项目中。我还将目标设备系列设置为 iPhone/iPad。然后我尝试撤消这些更改——删除了 MyViewController~ipad.xib 并将 Targeted Device Family 设置为仅 iPhone。

现在,我可以在 iPhone 上运行(一如既往),但不能在 iPad 上运行(我以前可以这样做)。我现在崩溃并出现以下错误:

"'NSInternalInconsistencyException',原因:'-[UIViewController _loadViewFromNibNamed:bundle:] 加载了“MyViewController”笔尖,但未设置视图出口。'"

MyViewController.xib 中的视图出口设置为:

并且设置了文件的所有者类:

所以我想回到我拥有的东西......一个仅适用于 iPhone 的应用程序,将在 iPad 上运行(但在较小的 iPhone 视图中)。任何帮助将不胜感激!

【问题讨论】:

  • iphone nib 文件的名称是什么?
  • 你也删除了~ipad的文件还是只是在xcode上对它的引用?
  • iPhone nib 是 MyViewController.xib。是的,我删除了~ipad。用“~ipad”搜索任何东西都会出现零结果。

标签: ios ipad xib


【解决方案1】:

请注意,如果您从项目中删除文件,则在重新安装(通过 Build&Run)时,这些文件不会从设备中删除,iOS 仍会在那里看到您的旧文件。您可能需要手动从设备中删除该应用,然后重新安装。

另一个选择是重命名文件,这样旧文件就不会打扰你了。

此外,清理项目或清理构建文件夹(按住 alt 并从产品菜单中选择清理)可能会有所帮助。

【讨论】:

  • 我应该说...我在模拟器中运行这些。
  • 我不得不手动删除模拟器文件。这解决了这个问题。谢谢,MV。
  • @Hap 太棒了!如果您还不知道,只是提示,您可以像在真实设备上一样从模拟器中删除应用程序:使用主页按钮退出(模拟)应用程序,长按并删除应用程序。
  • 很高兴知道。好像我过去尝试过,文件没有被删除。正如你所说,他们现在这样做了......谢谢!
猜你喜欢
  • 2011-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多