新建工程时,设置rootViewController报错

更新xcode11后,新建工程设置rootViewController会报错

Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[AppDelegate setWindow:]: unrecognized selector sent to instance 0x6000038d03f0’

这是因为Xcode自动新增了一个SceneDelegate文件。iOS13之前,Appdelegate的职责是处理App生命周期和UI生命周期; iOS13之后,Appdelegate的职责是处理 App 生命周期和新的 Scene Session 生命周期(UI的生命周期,交给新增的Scene Delegate处理)。
新的 Scene Session,主要是为了处理多窗口任务,对于不需要适配iPad的app来说,就比较希望恢复成老版的配置模式。可以这样操作:


屏幕快照 2019-12-24 下午5.12.28.png

删除info.plist文件里Application Scene Manifest配置项

屏幕快照 2019-12-24 下午5.06.00.png

在appdelegate里新增window属性

屏幕快照 2019-12-24 下午5.07.16.png

配置app的入口

这样就不用适配UISceneSession lifecycle带来的改变了!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容