美文网首页
iOS开发SceneDelegate

iOS开发SceneDelegate

作者: 黄成瑞 | 来源:发表于2020-06-23 10:51 被阅读0次

升级到XCode11以后,当你新建一个项目的时候会发现,工程中多出一个SceneDelegate,它是什么呢?做什么用的呢?看我这篇就够了~哈哈哈

一、AppDelegate和SceneDelegate
  • XCode11之前,只有AppDelegate,AppDelegate的职责是处理App生命周期 + UI生命周期,在AppDelegate设置根视图控制器
  • XCode11之后,有AppDelegate和SceneDelegate,AppDelegate职责是处理App生命周期 + SceneDelegate生命周期,SceneDelegate职责是UI生命周期
- (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 = [UITabBarController new];
 [self.window makeKeyAndVisible];
}
二、删除SceneDelegate
  • 1.删除SceneDelegate.swift文件
    此时报错信息:error: Build input file cannot be found: '/Users/baihe/Documents/XHSWift/SwiftStudy/SwiftStudy/SwiftStudy/SceneDelegate.swift' (in target 'SwiftStudy' from project 'SwiftStudy')
  • 2.info.plist文件中删除Application Scene Manifest一项
  • 3.将AppDelegate.m中的UISceneSession lifecycle注释掉或者删掉。(此时就没有报错信息了)
  • 4.在didFinishLaunchingWithOptions中加入UIWindow。

参考文章:
iOS App生命周期及AppDelegate、SceneDelegate

相关文章

网友评论

      本文标题:iOS开发SceneDelegate

      本文链接:https://www.haomeiwen.com/subject/vlyffktx.html