Xcode 11 新建项目适配 iOS 13 以下设备
前言
Xcode 11 及以后版本新建項(xiàng)目都會(huì)多了一對(duì) SceneDelegate 類文件(如下圖所示)
原來(lái)是 iOS 13 之后,AppDelegate 不在負(fù)責(zé) UI 生命周期。
所有的 UI 生命周期交給 SceneDelegate 來(lái)處理。
后來(lái)發(fā)現(xiàn),這個(gè) SceneDelegate 主要是給 iPadOS 用來(lái)做多窗口支持的,而且是僅在 iOS 13 及以上設(shè)備才支持,如果想讓 App 支持低系統(tǒng)版本設(shè)備,就需要進(jìn)行適配操作,刪除新增的 SceneDelegate 相關(guān)內(nèi)容。
iOS 13 以下設(shè)備適配操作
1、刪除 Info.plist 文件中的 Application Scene Manifest,如下圖所示。
2、在 AppDelegate.h 文件中增加 window 屬性,
3、刪除 AppDelegate.m 中新增的 UISceneSession lifecycle 部分內(nèi)容。
4、在 AppDelegate.m 中添加 UIApplicationDelegate 代理方法,以控制 App 的生命周期。可以去老項(xiàng)目中復(fù)制,也可以直接復(fù)制下方的代碼。
4、接著,刪除 SceneDelegate.h 和 SceneDelegate.m 文件。
完成以上操作基本算是完成新建項(xiàng)目對(duì) iOS 13 以下設(shè)備的適配了,在 iOS 13 的設(shè)備上已經(jīng)可以不受 SceneDelegate 的影響正常運(yùn)行了。
可能你發(fā)現(xiàn)在 iOS 13 一下設(shè)備運(yùn)行還是有點(diǎn)問(wèn)題,這時(shí)你可以修改項(xiàng)目支持 iPhone 設(shè)備的最低版本:點(diǎn)擊項(xiàng)目 -> General -> Delpoyment Info -> 修改相應(yīng)的 iOS 版本號(hào)(如下圖所示)
參考資料
- Xcode11新變化:SceneDelegate
- iOS 使用xcode11新建項(xiàng)目
適配到這里就完成了,別忘了三連哦~
總結(jié)
以上是生活随笔為你收集整理的Xcode 11 新建项目适配 iOS 13 以下设备的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 团体程序设计天梯赛 L2 题目合集
- 下一篇: Xcode 新项目删除 storyboa