在 NSBundle 包中找不到名为 'Main' 的故事板?

Could not find a storyboard named 'Main' in bundle NSBundle?

在尝试本地化 SpriteKit 游戏时,我突然开始收到错误消息:

"Could not find a storyboard named 'Main' in bundle NSBundle"

我没有使用故事板,我想我在第一次开始开发游戏时实际上删除了文件。 'Main storyboard file base name' 被设置为 'Main' (在它工作并且没有情节提要时也是之前设置的)。我删除了那个条目,现在程序只执行 AppDelegate 文件并且基本上停止了。之前它会自动执行根视图控制器而现在不会执行的地方缺少什么?

我在应用程序委托中尝试了以下操作:

*self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
FirstViewController *First = = [[FirstViewController alloc]init];
[self.window setRootViewController: First];
[self.window makeKeyAndVisible];

但是当它移动到 FirstViewController 时它在此处崩溃:

SKView * skView = (SKView *)self.view;
skView.showsFPS = YES;

但在此之前,我从来不需要先剪下代码来执行根视图控制器。任何想法可能出了什么问题?这一切都是在本地化、清理、更改语言、删除 Localizable.string 文件等的模糊过程中开始的....

“...正在清洁...”

SpriteKit 应用程序模板包含一个 Main.storyboard & 用作加载 GameScene 的视图。很可能您将其删除并继续正常工作,直到稍后清理项目;至少根据我的经验,在删除情节提要或其他资源后,您真的想立即进行清理和构建以查明是否损坏了某些东西,因为它们似乎在删除后会在生成的包中停留一段时间。

您当前的代码创建了一个 FirstViewController,但我看不到您是否在 init 方法中正确处理了所有布局,但由于您正在崩溃,也许不是?

我喜欢故事板,所以如果我是你,我会创建一个新的 spritekit 游戏项目,这样你就可以从中获取 Main.storyboard,但如果你真的更愿意修复你拥有的代码,我我想我们可能需要看看 FirstViewController.m

此外,当调试器崩溃时您在调试器中收到的消息可能也有助于获得更好的答案。