1. 创建项目发现多了两个文件
iOS13的生命周期发生了一些改动,app生命周期在iOS 12之前都是在AppDelegate里头(也就是UIApplicationDelegate里面),但是ios13版本AppDelegate(UIApplicationDelegate)控制生命周期的行为交给了SceneDelegate(UIWindowSceneDelegate)。如下图所示:而且将UIWindow也放在了SceneDelegate文件里这个文件的作用主要是管理多窗口模式,一般做移动端app不需要用到多窗口
2.新创建项目启动之后运行的是ViewController,显然需要改成TabBarController
对于启动之后运行ViewController一般不适用,大多数都是运行的TabBarController,切换方法如下:
-
按照惯例,创建项目后将viewController文件和Main.storyboard删掉
不用想,此时运行肯定是崩溃了
- 此时运行ok,但是问题又来了,运行之后发现是一片黑色
这种情况比直接崩溃还是好一些了,但是如何解决黑屏问题?
方式一:直接在SceneDelegate文件初始化(需要在iOS13以上版本)
方式二:在AppDelegate文件初始化
观看Xcode11之前的项目,相对Xcode11创建的新项目少了SceneDelegate文件,将这个‘文件删除掉’,并将window属性声明放在AppDelegate文件中去
-
在AppDelegate文件中按照原来的方法设置跟控制器
-
需要注释掉AppDelegate中的如下两个方法:
-
在info文件中删除如下key:
- 到此就恢复和Xcode11之前的一样了,正常运行ok