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