更新xcode11后,新建工程設(shè)置rootViewController會報錯
Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[AppDelegate setWindow:]: unrecognized selector sent to instance 0x6000038d03f0’
這是因為Xcode自動新增了一個SceneDelegate文件茅姜。iOS13之前钻洒,Appdelegate的職責(zé)是處理App生命周期和UI生命周期桶错; iOS13之后,Appdelegate的職責(zé)是處理 App 生命周期和新的 Scene Session 生命周期(UI的生命周期糯钙,交給新增的Scene Delegate處理)退腥。
新的 Scene Session狡刘,主要是為了處理多窗口任務(wù),對于不需要適配iPad的app來說嗅蔬,就比較希望恢復(fù)成老版的配置模式澜术。可以這樣操作:
刪除info.plist文件里Application Scene Manifest配置項
在appdelegate里新增window屬性
配置app的入口
這樣就不用適配UISceneSession lifecycle帶來的改變了盒延!