前言
1 - 自从 Xcode11 发布以来,当你使用新 XCode 创建一个新的 iOS 项目时 SceneDelegate 会被默认创建
2 - 在 iOS 13 后 SceneDelegate 将负责 AppDelegate 的某些功能。 最重要的是 window 的概念已被 scene 的概念所代替。 一个应用程序可以具有不止一个场景,而一个场景现在可以作为您应用程序的用户界面和内容的载体。尤其是一个具有多场景的 App 的概念很有趣,因为它使您可以在 iOS 和 iPadOS 上构建多窗口应用程序(类似多开)
SceneDelegate
1 - 在 Xcode 11 中有三个地方可以明显地看到 SceneDelegate 的身影:一个新的 iOS 项目会自动创建一个 SceneDelegate,其中包括我们熟悉的生命周期事件 SceneDelegate 还具有下面这些函数
2 - AppDelegate 中则多了两个与 scene sessions 相关的新方法
3、Info.plist 文件中提供了 Application Scene Manifest 配置项,用于配置 App 的场景,包括它们的场景配置名、delegate类名和 storyboard
如何删除 SceneDelegate
1 - 不习惯使用 SceneDelegate 可以将其删除,按原来的方式进行项目开发
① SceneDelegate文件删除
② 删除 AppDelegate 文件中新增的两个函数:application(_:configurationForConnecting:options:) 和 application(_:didDiscardSceneSessions:)
③ Info.plist 文件中 Application Scene Manifest 删除
④ 在 AppDelegate.h 中添加 window 属性:@property (strong, nonatomic) UIWindow *window;
标签:场景,删除,iOS,基础,AppDelegate,window,SceneDelegate From: https://www.cnblogs.com/self-epoch/p/16808349.html