Xcode11新建项目的一些问题

1. 创建项目发现多了两个文件
image.png

iOS13的生命周期发生了一些改动,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

你可能感兴趣的:(Xcode11新建项目的一些问题)