日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Xcode 11 新建项目适配 iOS 13 以下设备

發布時間:2025/3/20 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Xcode 11 新建项目适配 iOS 13 以下设备 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

Xcode 11 及以后版本新建項目都會多了一對 SceneDelegate 類文件(如下圖所示)

原來是 iOS 13 之后,AppDelegate 不在負責 UI 生命周期。

所有的 UI 生命周期交給 SceneDelegate 來處理。

后來發現,這個 SceneDelegate 主要是給 iPadOS 用來做多窗口支持的,而且是僅在 iOS 13 及以上設備才支持,如果想讓 App 支持低系統版本設備,就需要進行適配操作,刪除新增的 SceneDelegate 相關內容。

iOS 13 以下設備適配操作

1、刪除 Info.plist 文件中的 Application Scene Manifest,如下圖所示。

2、在 AppDelegate.h 文件中增加 window 屬性,

#import <UIKit/UIKit.h>@interface AppDelegate : UIResponder <UIApplicationDelegate>@property (nonatomic, strong) UIWindow *window;@end

3、刪除 AppDelegate.m 中新增的 UISceneSession lifecycle 部分內容。

4、在 AppDelegate.m 中添加 UIApplicationDelegate 代理方法,以控制 App 的生命周期。可以去老項目中復制,也可以直接復制下方的代碼。

#pragma mark - UIApplicationDelegate- (void)applicationDidBecomeActive:(UIApplication *)application {}- (void)applicationWillResignActive:(UIApplication *)application {}- (void)applicationDidEnterBackground:(UIApplication *)application {}- (void)applicationWillEnterForeground:(UIApplication *)application {}- (void)applicationWillTerminate:(UIApplication *)application {}

4、接著,刪除 SceneDelegate.h 和 SceneDelegate.m 文件。

完成以上操作基本算是完成新建項目對 iOS 13 以下設備的適配了,在 iOS 13 的設備上已經可以不受 SceneDelegate 的影響正常運行了。

可能你發現在 iOS 13 一下設備運行還是有點問題,這時你可以修改項目支持 iPhone 設備的最低版本:點擊項目 -> General -> Delpoyment Info -> 修改相應的 iOS 版本號(如下圖所示)

參考資料

  • Xcode11新變化:SceneDelegate
  • iOS 使用xcode11新建項目

適配到這里就完成了,別忘了三連哦~

總結

以上是生活随笔為你收集整理的Xcode 11 新建项目适配 iOS 13 以下设备的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。