当前位置: 代码迷 >> 综合 >> 删除Main.storyboard后报错黑屏 Could not find a storyboard named ‘Main‘ in bundle NSBundle
  详细解决方案

删除Main.storyboard后报错黑屏 Could not find a storyboard named ‘Main‘ in bundle NSBundle

热度:32   发布时间:2024-02-20 04:16:06.0

因为iOS13后处理方式不一样的原因.

删掉工程中main.storyboard 后要删除plist文件中对应的键值外,还要删除其他的。具体如下

1.删除plist文件中对应的键值

2.删除Application Scene manifest。这个是iOS13后,在之前AppDelegate的基础上多出了一个SceneDelegate,会将AppDelegate里的lifecycle的那些代理方法转交给SceneDelegate

 

3。注释掉appdelegat.m里的这两个方法 configurationForConnectingSceneSession 和didDiscardSceneSessions。

根据苹果官方文档的大概意思就是,一个UISceneSession不用你直接去创建对象,你可以用UIApplication里的requestSceneSessionActivation:userActivity:options:errorHandler:方法,这个方法会帮你初始化一个基于info.plist文件里的默认configuration的session对象。

因此xcode11中要实现自己的没有默认main.storyboard的项目,就得将SceneDelegate里的lifecycle转交给AppDelegate,按照上面所说,这一步操作就是,删除或注释一下截图里的两个方法( 引自作者:Harllan_he 链接:https://www.jianshu.com/p/e255303d11b8)

4.就是代码初始化你的window了,删除main.storyboard后,需要在AppDelegate.m中初始化一个window进行使用,否则应用程序没有window可用。

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window makeKeyAndVisible]
  相关解决方案