【问题标题】:My MainMenu.xib refuses to go into the bundle and my app crashes with: "Unable to load nib file: MainMenu, exiting"我的 MainMenu.xib 拒绝进入捆绑包,我的应用程序崩溃:“无法加载 nib 文件:MainMenu,正在退出”
【发布时间】:2015-06-03 08:28:44
【问题描述】:

当我从 Xcode 在调试模式下运行我的应用程序时,它可以工作,但是当我在发布模式下运行它时,它在输出以下内容后崩溃:

Unable to load nib file: MainMenu, exiting

确实,MainMenu.xib 不存在于任何一个包(调试或发布)中,如果我查看配置,它看起来好像丢失了:

自从我从新模板创建应用程序以来就是这样,但我并没有想太多,因为在 Debug 中它可以正常工作。我尝试删除它并再次添加它,它仍然显示为红色,因为丢失了。

在部署信息中显示 MainMenu,尽管在列表中显示 MainMenu.xib。当我选择 MainMenu.xib 时,它显示 MainMenu:

双击 .app 文件运行与从 Xcode 运行它的结果相同。

这里有什么问题?我该如何解决?

环境是 Xcode 6.2,一个带有 Swift (OSX) 的 Cocoa 应用程序,我在 Yosemite 中运行它(其他一些开发人员正在运行 Mavericks)。

【问题讨论】:

  • 您显示的设置看起来很正常(包括红色的MainMenu.xib)。在Targets > Info > Custom OS X Application Target Properties 下查看:Main nib file base name 的字符串值应为MainMenu(您也可以在Info.plist 中查看此值)。您实际上应该检查编译的.app 中的MainMenu.nibnot MainMenu.xib,因为通常.xib 会被展平并转换为.nib。跨度>

标签: xcode macos cocoa xib nib


【解决方案1】:

仅作记录:

Unable to load nib file: MainMenu, exiting

这是一个真正的错误,但我看到的所有其他症状都与@I'L'l 在问题中的评论无关。

我不确定实际的问题是什么,因为在清理项目并重建后问题会自行消失。我怀疑我必须生成 DMG 的脚本可能会导致一些问题。另外,我期待 Xcode 生成的 .app 可以在其他机器上工作,这是不现实的。您需要正确地重新归档应用程序才能做到这一点:

https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/AppDistributionGuide/DistributingApplicationsOutside/DistributingApplicationsOutside.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-24
    • 2011-12-16
    • 2011-10-06
    • 2011-11-07
    • 1970-01-01
    相关资源
    最近更新 更多