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个文件