【发布时间】:2016-05-29 13:20:08
【问题描述】:
升级到 XCode 7 后,我的项目遇到问题。运行时出现错误,“由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'在捆绑包中找不到名为 'Main' 的情节提要” NSBundle”。我的故事板名称是 Main.storyboard。
如果我清理我的项目,它运行得很好。我每次运行都必须清理,否则会出现上述错误。
如果发现许多帖子具有相同的错误。各种补救措施似乎随机地帮助了一些人而不是其他人。到目前为止,我已经尝试了以下方法。
- 删除 info.plist 文件中对情节提要的引用。当我这样做时,应用程序确实启动了,但我得到了一个黑屏,因为它没有加载故事板。
- 调整 Target Membership Main.storyboard。
- 从项目中删除情节提要,清理,运行,然后重新添加情节提要。
- 卸载 Xcode,重新安装 Xcode。
- 删除派生数据文件夹。
- 使用 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]]; 等代码手动加载 Storyboard;
当我手动加载情节提要时,它会崩溃并显示与自动加载相同的消息。
我在升级之前保存了我的工作 XCode 6 项目的副本,在对我的项目大惊小怪之后,我尝试使用正在工作的 XCode 6 项目的新副本,但这没有帮助。
我看过很多关于这个问题的帖子,其中有人刚刚放弃并从头开始重建他们的项目。我希望避免这种情况。
【问题讨论】:
-
从 info.plist 中删除对情节提要的引用是可行的,因为它不再尝试加载它。您是否尝试过编写一些代码然后手动尝试加载它?其次,您是否尝试过删除派生数据?
-
了解从 info.plist 中删除情节提要参考。我不明白的是,这如何为其他一些用户解决了这个问题。也许它会导致旧版本的 XCode 使用默认名称来引用故事板并找到它。
-
我已删除派生数据。我只是又做了一次,但没有成功。我正在使用项目窗口删除派生数据。
-
这个问题你解决了吗?
-
您需要将其添加到 AppDelegate --> didFinishLaunchingWithOptions : window = UIWindow(frame: UIScreen.main.bounds) window?.makeKeyAndVisible()
标签: ios objective-c iphone xcode