新版Xcode创建工程不使用SceneDelegate

Xcode11中创建工程新增了SceneDelegate文件,目的是承担AppDelegate的UI生命周期处理工作。

iOS13之前(只使用AppDelegate):这种模式只有一个进程,只有一个与这个进程对应的用户界面。

iOS13之后(使用AppDelegate+SceneDelegate):SceneDelegate这个东西是管理window的,一个应用程序可以具有不止一个Scene场景,而一个场景可以作为您应用程序的用户界面和内容的载体,因此你可以使用该方式在iOS和iPadOS上构建多窗口应用程序。

如果我们需要按照原来的方式进行项目开发,需要做如下操作:

1、删除新创建工程中的两个SceneDelegate文件

2、删除AppDelegate.m文件中与SceneDelegate生命周期相关的两个函数

3、删除Info.plist文件中的Application Scene Manifest 

4、将window控制权交给了AppDelegate(需要在AppDelegate.h文件中添加UIWindow属性,方便根window设置)

 5、在AppDelegate.m函数(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions中初始化我们的根控制器 


 

做完以上操作后我们就可以像以前使用Xcode的方式一样进行开发了。 

猜你喜欢

转载自blog.csdn.net/c_furong/article/details/119818408