1. 創(chuàng)建項(xiàng)目發(fā)現(xiàn)多了兩個(gè)文件

image.png
iOS13的生命周期發(fā)生了一些改動(dòng),app生命周期在iOS 12之前都是在AppDelegate里頭(也就是UIApplicationDelegate里面),但是ios13版本AppDelegate(UIApplicationDelegate)控制生命周期的行為交給了SceneDelegate(UIWindowSceneDelegate)。如下圖所示:而且將UIWindow也放在了SceneDelegate文件里image.png這個(gè)文件的作用主要是管理多窗口模式,一般做移動(dòng)端app不需要用到多窗口image.png
2.新創(chuàng)建項(xiàng)目啟動(dòng)之后運(yùn)行的是ViewController,顯然需要改成TabBarController
對于啟動(dòng)之后運(yùn)行ViewController一般不適用,大多數(shù)都是運(yùn)行的TabBarController,切換方法如下:
-
按照慣例,創(chuàng)建項(xiàng)目后將viewController文件和Main.storyboard刪掉
不用想,此時(shí)運(yùn)行肯定是崩潰了
此時(shí)找不到main文件了,需要去配置文件中修改一下,刪除如下所示:image.pngimage.pngimage.png - 此時(shí)運(yùn)行ok,但是問題又來了,運(yùn)行之后發(fā)現(xiàn)是一片黑色
這種情況比直接崩潰還是好一些了,但是如何解決黑屏問題?
方式一:直接在SceneDelegate文件初始化(需要在iOS13以上版本)

image.png
方式二:在AppDelegate文件初始化
觀看Xcode11之前的項(xiàng)目,相對Xcode11創(chuàng)建的新項(xiàng)目少了SceneDelegate文件,將這個(gè)‘文件刪除掉’,并將window屬性聲明放在AppDelegate文件中去
-
在AppDelegate文件中按照原來的方法設(shè)置跟控制器image.png
-
需要注釋掉AppDelegate中的如下兩個(gè)方法:image.png
-
在info文件中刪除如下key:image.png
- 到此就恢復(fù)和Xcode11之前的一樣了,正常運(yùn)行ok







