【问题标题】:Could not find a storyboard named 'Main' in bundle NSBundle?在捆绑包 NSBundle 中找不到名为“Main”的故事板?
【发布时间】:2015-04-29 17:13:32
【问题描述】:

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

“在捆绑包 NSBundle 中找不到名为 'Main' 的情节提要”

我没有使用故事板,我想我在第一次开始开发游戏时实际上删除了文件。 'Main storyboard file base name' 设置为 'Main' (之前也设置过,当它工作并且没有 storyboard 时)。我删除了该条目,现在程序只执行 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 文件等的模糊过程......

【问题讨论】:

    标签: xcode localization storyboard main viewcontroller


    【解决方案1】:

    “……清洁……”

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

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

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

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

    【讨论】:

    • “清洁”评论解释了很多。如果我能给你声誉,我会的。我想我会建立一个新的 Main.storyboard。今天晚些时候我会更新....现在,如果我只能让我的本地化工作....我已经将它剥离到没有成功的副项目中的骨架....这就像我错过了一个简单的设置。 ..但这是另一个问题。
    • 是的,我想我看到了另一个问题,不幸的是,没有什么比 Storyboards vs Cleaning 问题更能引起我的注意。祝你好运!
    • 您的回答有效。按照您的建议,我创建了一个新的 spritekit 游戏,获取 Main.storyboard 并重命名了视图控制器。一切正常。事实上,我认为在每次新的本地化尝试之前“清理”项目已经解决了我的本地化问题。非常感谢!
    猜你喜欢
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    • 2014-11-02
    • 1970-01-01
    相关资源
    最近更新 更多