1.iOS 13之前,appdelegate會處理app生命週期和UI生命週期,之後,appdelegate不在處理UI生命週期了,只負責處理生命週期和新的scene session生命週期,而UI 的生命週期就有scene delegate處理了所以我們寫的self.window時就要放到scenedelegate裏。
ios13包含和以上(適配)在sceneDelegate內寫:
UIWindowScene * windowScene = (UIWindowScene *)scene;
self.window = [[UIWindow alloc]initWithWindowScene:windowScene];
self.window.frame = windowScene.coordinateSpace.bounds;
ViewController * control = [[ViewController alloc]init];
self.window.rootViewController = control;
[self.window makeKeyAndVisible];
ios13以下設備和ios13以上(適配)需要把相關的sceneDelegate都刪掉纔行.操作步驟如下:
1.刪除info文件裏關於scenedelegate的配置信息:刪除Application Scene Manifest,
2.在appdelegate.h文件增加window屬性
3.然後在APPdelegate.m裏刪除新加的scene方法 UISceneSession lifecycle 內面的方法
4.最後刪除scenedelegate的2個文件