更新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带来的改变了!
网友评论