在捆绑包 NSBundle 中找不到名为“Storyboard.storyboard”的故事板

Posted

技术标签:

【中文标题】在捆绑包 NSBundle 中找不到名为“Storyboard.storyboard”的故事板【英文标题】:Could not find a storyboard named 'Storyboard.storyboard' in bundle NSBundle 【发布时间】:2013-01-30 07:44:22 【问题描述】:

我在一个 ios 项目中创建了一个新目标,并添加了一些我的文件以及一个新的故事板文件。但是在模拟器中运行时(我还没有尝试过该设备),它在 main.c 中的UIApplicationMain(argc, argv, nil, NSStringFromClass([PKPreprocessAppDelegate class])) 处呕吐:

(lldb) po $eax 

(unsigned int) $1 = 151596752 Could not find a storyboard named 'Storyboard.storyboard' 
in bundle NSBundle </Users/XXX/Library/Application Support/iPhone Simulator/6.0/Applications/007281D7-F09F-482A-A57A-CEEC1C65176B/XXXXX Preprocess.app> (loaded)

plist 在键 UIMainStoryboardFile~iphone 下有一个匹配的 Storyboard.storyboard。我还检查了Copy Bundle Resources 是否列出了该故事文件。在捆绑包中,文件位于目录en.lproj(虽然命名为Storyboard.storyboardc)。我什至尝试从en.lproj 目录中复制出来,但无济于事。

编辑: 我还尝试了密钥 UIMainStoryboardFile 下的 plist 仍然无法正常工作。

【问题讨论】:

你能点击你的项目 -> TARGETS -> iPhone/iPod 部署信息,然后查看你的故事板是否列在那里?另外,点击你的故事板文件 -> 显示文件检查器 -> 目标成员,确保项目上有一个复选标记。 是的,故事板已列出,是的,复选标记在我想要的目标上。 哦,等等,部署信息你是对的,它拼写错误。当我修复它时,我遇到了另一个错误。让我仔细检查一下。 太好了,非常感谢!发帖,这样我就可以给你信用了。另外,如果您知道为什么我必须同时设置 plist 和该部署信息,您也可以向我解释。为什么有两个不同的地方在我看来一个就足够了。 :// 很高兴它有帮助。不知道为什么我们需要同时设置 plist 和部署信息。我只是确保每次都正确设置。 【参考方案1】:

来自评论部分:

您可以单击您的项目 -> 目标 -> iPhone/iPod 部署信息,然后查看您的情节提要是否列在此处?另外,点击你的故事板文件 -> 显示文件检查器 -> 目标成员,确保项目上有一个复选标记。

【讨论】:

目标会员是我的问题。非常感谢! 好人,你成就了我的一天,我需要检查我的项目之前的测试是否已在目标成员中检查......

以上是关于在捆绑包 NSBundle 中找不到名为“Storyboard.storyboard”的故事板的主要内容,如果未能解决你的问题,请参考以下文章

在 APPNAME UITests-Runner.app 的包 NSBundle 中找不到名为“Main”的故事板

在豆茎图像中找不到捆绑包

缺少代码签名权利 - 在捆绑包中找不到可执行文件的权利

Retina 图形未从 NSBundle 加载

NSBundle 中的类

现有路径的 NSBundle“尚未加载”