iOS13之前,Appdelegate的职责全权处理App生命周期和UI生命周期;
iOS13之后,Appdelegate的职责是:
1、处理 App 生命周期
2、新的 Scene Session 生命周期
一,SceneDelegate下的根视图
Appdelegate不在负责UI生命周期,所有UI生命周期交给SceneDelegate处理:
(1)SceneDelegate.h 文件下@property (strong, nonatomic) UIWindow * window;
(2)-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions进行初始化,转交给
SceneDelegate的willConnectToSession:方法进行根控制器设置
- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
UIWindowScene *windowScene = (UIWindowScene *)scene;
self.window = [[UIWindow alloc] initWithWindowScene:windowScene];
self.window.frame = windowScene.coordinateSpace.bounds;
self.window.rootViewController =[[UINavigationController alloc]initWithRootViewCo