Xcode 11 在包 NSBundle 中找不到名为 'Main' 的故事板
Xcode 11 Could not find a storyboard named 'Main' in bundle NSBundle
之前有人问过这个问题,但我的问题是 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
,当您更改 Main目标内的接口。但是,在 Info.plist
的顶层仍然有一个 UIMainStoryboardFile
键,它保存着旧 "Main" 故事板的标题。长话短说,如果您删除 UIMainStoryboardFile
,应用程序将 运行 正常。
我的问题:这是 Xcode 11 中的错误,还是我遗漏了其他可以阻止此问题的内容?我在尝试调试它时并没有真正找到任何有用的东西,最后自己弄清楚了。
在你的 info.plist
Main
文件中设置了 Scene Configuration
,所以它总是找到那个文件并抛出异常。您可以通过编程方式设置默认值 ViewController
。在您的 info.plist
中,将 Scene Configuration
设置为 Default configuration
并将 Select none 设置为 Targets
> General
> Deployment Info
> Main Interface
。
你的sceneWillConnectTo
就像
window = UIWindow(frame: UIScreen.main.bounds)
window!.windowScene = windowScene
window!.rootViewController = //your homeVC
window!.makeKeyAndVisible()
在您的 info.plist 中,您必须设置此 属性
应用程序场景清单 -> 场景配置 -> 应用程序会话角色 -> 项目 0 -> 故事板名称
Info.plist
之前有人问过这个问题,但我的问题是 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
,当您更改 Main目标内的接口。但是,在 Info.plist
的顶层仍然有一个 UIMainStoryboardFile
键,它保存着旧 "Main" 故事板的标题。长话短说,如果您删除 UIMainStoryboardFile
,应用程序将 运行 正常。
我的问题:这是 Xcode 11 中的错误,还是我遗漏了其他可以阻止此问题的内容?我在尝试调试它时并没有真正找到任何有用的东西,最后自己弄清楚了。
在你的 info.plist
Main
文件中设置了 Scene Configuration
,所以它总是找到那个文件并抛出异常。您可以通过编程方式设置默认值 ViewController
。在您的 info.plist
中,将 Scene Configuration
设置为 Default configuration
并将 Select none 设置为 Targets
> General
> Deployment Info
> Main Interface
。
你的sceneWillConnectTo
就像
window = UIWindow(frame: UIScreen.main.bounds)
window!.windowScene = windowScene
window!.rootViewController = //your homeVC
window!.makeKeyAndVisible()
在您的 info.plist 中,您必须设置此 属性 应用程序场景清单 -> 场景配置 -> 应用程序会话角色 -> 项目 0 -> 故事板名称
Info.plist