【问题标题】:Could not find a storyboard named 'Main' in bundle, Xcode 7在 Xcode 7 中找不到名为“Main”的情节提要
【发布时间】:2016-05-29 13:20:08
【问题描述】:

升级到 XCode 7 后,我的项目遇到问题。运行时出现错误,“由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'在捆绑包中找不到名为 'Main' 的情节提要” NSBundle”。我的故事板名称是 Main.storyboard。

如果我清理我的项目,它运行得很好。我每次运行都必须清理,否则会出现上述错误。

如果发现许多帖子具有相同的错误。各种补救措施似乎随机地帮助了一些人而不是其他人。到目前为止,我已经尝试了以下方法。

  1. 删除 info.plist 文件中对情节提要的引用。当我这样做时,应用程序确实启动了,但我得到了一个黑屏,因为它没有加载故事板。
  2. 调整 Target Membership Main.storyboard。
  3. 从项目中删除情节提要,清理,运行,然后重新添加情节提要。
  4. 卸载 Xcode,重新安装 Xcode。
  5. 删除派生数据文件夹。
  6. 使用 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]]; 等代码手动加载 Storyboard;

当我手动加载情节提要时,它会崩溃并显示与自动加载相同的消息。

我在升级之前保存了我的工作 XCode 6 项目的副本,在对我的项目大惊小怪之后,我尝试使用正在工作的 XCode 6 项目的新副本,但这没有帮助。

我看过很多关于这个问题的帖子,其中有人刚刚放弃并从头开始重建他们的项目。我希望避免这种情况。

My projects info.plist file

【问题讨论】:

  • 从 info.plist 中删除对情节提要的引用是可行的,因为它不再尝试加载它。您是否尝试过编写一些代码然后手动尝试加载它?其次,您是否尝试过删除派生数据?
  • 了解从 info.plist 中删除情节提要参考。我不明白的是,这如何为其他一些用户解决了这个问题。也许它会导致旧版本的 XCode 使用默认名称来引用故事板并找到它。
  • 我已删除派生数据。我只是又做了一次,但没有成功。我正在使用项目窗口删除派生数据。
  • 这个问题你解决了吗?
  • 您需要将其添加到 AppDelegate --> didFinishLaunchingWithOptions : window = UIWindow(frame: UIScreen.main.bounds) window?.makeKeyAndVisible()

标签: ios objective-c iphone xcode


【解决方案1】:

你可以试试

选择Target -> General -> 部署信息 -> 主界面 “选择您的故事板名称”

希望对你有帮助

【讨论】:

    【解决方案2】:

    试试这个,

    请在您的文件检查器中检查目标成员。

    它对我有用。

    【讨论】:

      【解决方案3】:

      如果您使用与以下相同的代码

      UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
      

      然后只需将 [NSBundle mainBundle] 更改为 nil,我重新安装模拟器的问题就消失了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-14
        • 2014-11-02
        • 1970-01-01
        • 1970-01-01
        • 2023-03-19
        • 2021-04-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多