XCode 4.2 MainStoryBoard 未找到
Posted
技术标签:
【中文标题】XCode 4.2 MainStoryBoard 未找到【英文标题】:XCode 4.2 MainStoryBoard Not Found 【发布时间】:2012-02-02 13:39:30 【问题描述】:当我对 MainStoryboard.storyboard 进行更改时,这些更改都不会影响到我的 ios 设备,即使它已构建。我尝试从设备中删除应用程序的所有数据并重新启动所有内容,但现在当我在 iPhone 上构建和运行代码时出现以下错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'MainStoryboard' in bundle NSBundle </var/mobile/Applications/BE0CBEE9-1E95-443A-97CF-53CCD66A2D0C/WalkBack.app> (loaded)'
据我所知,我的 plist 文件包含故事板名称的适当信息。
任何想法有什么问题,或者我该如何解决?当这个问题发生时,.xcodeproj 文件开始在 XCode 3 中打开。这是否搞乱了一些设置?我迷路了。
【问题讨论】:
可能您的主情节提要文件缺少捆绑包。查看 Target(左窗格,单击应用程序最顶部图标上的 clikc,然后从右窗格中选择 Target)> Building Phases > Copy Bundle Resources。您的主要故事板应该列在那里。如果不存在,请单击 (+) 按钮添加。 进入您的项目摘要并确保情节提要设置为情节提要的文件名。 我实际上已经检查了这两件事,它们都应该是。还有其他想法吗? 【参考方案1】:我已经在我的学生的文件中看到这种情况发生了几次,今天我也遇到了这种情况。什么似乎为我解决了它:
-
在项目导航器中右键单击 MainStoryboard.storyboard。
选择删除并点击仅删除引用。
右键单击 InfoPlist.strings 并选择“在 Finder 中显示”。 (这只是我在finder中打开包含故事板的文件夹的懒惰方式。)
将 MainStoryboard.storyboard 从 Finder 拖回项目中。
我的怀疑是,在项目中添加文件或对情节提要进行某些编辑时会触发某处的错误。它会导致本地化文件不会被复制到包中(我认为)。删除故事板并将其重新添加到项目中似乎可以解决问题。
【讨论】:
是的,这解决了我的问题。谢谢。 每次发生这种情况时我都会这样做,但我想弄清楚是什么原因导致它经常发生 这个错误也可能发生在 Xcode 6 中。感谢修复!就是这样。【参考方案2】:我有一个通用应用程序,所以一个用于 iPhone 的故事板和另一个用于 iPad 的故事板,iPad 模拟器可以工作,但是当我尝试用 iPhone 模拟器午餐时,我收到此错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'MainStoryboard' in bundle NSBundle </var/mobile/Applications/BE0CBEE9-1E95-443A-97CF-53CCD66A2D0C/WalkBack.app> (loaded)'
我尝试了您的所有解决方案,但没有人能奏效。我总是有同样的错误。 我解决了在 iPhone 故事板上删除本地化参数并将两个故事板设置为相同本地化的问题。
希望对你有帮助!
【讨论】:
下次遇到此错误时,我将不得不尝试此操作。我确信这个错误与本地化有关,而且你提到本地化是一个问题,这对我的理论有好处:)【参考方案3】:还有另一种方法!
转到您的项目,选择您的目标并点击Build Phases。 然后展开“复制捆绑资源”并将 MainStoryboard.storyboard 添加到资源中。 您可以通过单击展开列表底部的小“+”号来执行此操作。
您不必从项目中删除文件,只需将其重新添加到资源中即可。
【讨论】:
绝对是一个好方法!而且我喜欢它避免删除文件(有可能不小心将它移动到垃圾箱。)这也是一个注意一些拖入的源文件可能不会添加到编译列表的好地方!在这种情况下,您将展开 Compile Sources 并添加带有 + 号的 .m 或 .mm 文件。【参考方案4】:您也可以随时重置模拟器。
【讨论】:
这并不能解决问题,因为这个问题也发生在真实设备上【参考方案5】:实际上,更准确地说,您会发现无法将 MainStoryboard.storyboard [它不显示在文件浏览器中] 添加到 Build Phase 设置的“Copy Bundle Resources”部分。我发现我实际上必须将它添加到构建阶段设置的“编译源”部分。然后将其添加到两个部分。我不确定这是 Xcode 4.6.3 中的预期行为还是错误。
【讨论】:
以上是关于XCode 4.2 MainStoryBoard 未找到的主要内容,如果未能解决你的问题,请参考以下文章
安装 XCode 4.2 beta 7 后回到 XCode 4.1
无法使用 xCode 向 UiCollectionView 添加标题部分