ios - Xcode 11 在捆绑包 NSBundle 中找不到名为“Main”的情节提要
问题描述
这个问题之前已经被问过,但我的问题是 Xcode 11 和UISceneConfiguration
. 在 Xcode 11 之前,当您从目标中删除故事板 ( Main.storyboard
),然后添加新的 ( AnotherStoryboard.storyboard
) 时,您必须更新Targets > General > Deployment Info > Main Interface
以使用新添加的故事板。在 Xcode 11 中,这还不够,应用程序会抛出异常
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: 'Could not find a storyboard named 'Main' in bundle NSBundle
我发现的问题是,Info.plist
现在有一个名为的新键UIApplicationSceneManifest
,其中有一个嵌套UISceneStoryboardFile
,当您更改目标中的主界面时,它正在更新。UIMainStoryboardFile
然而,顶层仍然有一个关键Info.plist
是持有旧的“主要”故事板的标题。长话短说,如果您删除UIMainStoryboardFile
,该应用程序将运行良好。
我的问题:这是 Xcode 11 中的错误,还是我遗漏的其他东西可以防止这种情况发生?当我尝试调试它并最终自己解决时,我并没有真正找到任何有用的东西。
解决方案
在你的info.plist
Main
文件中设置Scene Configuration
,所以它总是找到那个文件并抛出异常。您可以ViewController
以编程方式设置默认值。在您的info.plist
设置Scene Configuration
中Default configuration
并选择无进入Targets
> General
> Deployment Info
> Main Interface
。
你的sceneWillConnectTo
样子
window = UIWindow(frame: UIScreen.main.bounds)
window!.windowScene = windowScene
window!.rootViewController = //your homeVC
window!.makeKeyAndVisible()
推荐阅读
- oracle-apex - 设置值 动态操作错误:Ajax 调用返回服务器错误 ORA-20987:APEX - ERR-1002 无法找到项目 ID
- javascript - 需要帮助从 JavaScript 中的对象数组中获取计数
- java - java泛型方法签名
- unity3d - 关闭和关闭单例模式的问题
- python - 无法使用 BeautifulSoup 获取文章的网址
- oracle - 使用 Informatica 将 Oracle 存储过程输出 clob 参数(以创建 JSON 格式)保存到文件中
- powershell - 一键重命名计算机并加入域的批处理脚本
- django - Django:如何从不同的数据库表中获取相关数据并将其显示为一个
- python - 如何从素数列表中获取不同的因子?
- graphql - 如何将 GraphQL 查询的结果(响应)作为参数(输入)传递给突变?