Xcode 11创建的工程,一开始运行时会出现黑屏现象。里面也多出SceneDelagate
的文件。
原因:
UIScene
管理多个UIWindow
的应用,工程中除了 AppDelegate
外会多一个SceneDelegate
AppDelegate
和SceneDelegate
是iPadOS带来的新多窗口支持的结果,并且有效地将应用程序委托的工作分成两部分。AppDelegate
应该:IOS13之后,生命周期时间就开始由UISceneDelegate
接管。
解决适配方案:
info.plist
中Application Scene Manifest
选项,同时可以删除Scenedelegate.h
和Scenedelegate.m
AppDelegate.m
中的#pragma mark - UISceneSession lifecycle
的代码AppDelegate.h
中添加@property (strong, nonatomic) UIWindow * window;
重新编译运行,黑屏终于变白!