前言

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 以下设备相关推荐

  1. 适配iOS 13 tabbar 标题字体不显示以及返回变蓝色的为问题

    // 适配iOS 13 tabbar 标题字体不显示以及返回变蓝色的为问题 if (@available(iOS 13.0, *)) {//[[UITabBar appearance] setUnse ...

  2. HBuilder运行项目到IOS真机设备

    公司项目,开发多端应用,在此记录下开发后在ios端真机测试的步骤 在Hbuilder点击运行->运行到手机或模拟器->运行到IOS App基座 连上ios设备 这里需要设置一下Apple证 ...

  3. ios运行html时黑屏,iOS13 ,xcode11新建项目真机运行出现黑屏及新出现的SceneDelegate的作用...

    iOS13之后,xcode 11新建项目,大家会发现项目中多出了SceneDelegate这个类,而且新建项目之后,在模拟器上运行没问题,真机上低于iOS13系统的手机就会出现黑屏(解决方法就是在Ap ...

  4. iOS 13适配汇总

    随着iPhone 11的发布,iOS 13适配也提上了日程,接下来就开发中升级iOS13的手机可能出现的问题 Xcode: 11.0 iOS : 13.0 UIViewController 模态弹出界 ...

  5. iOS 11 及 iPhoneX 适配知识

    一.前言 前段时间 WWDC 大会上苹果推出了 iOS11 系统 和 iPhone X 新机型,相信各个 iOS 团队的开发者都已经在计划新系统和新机型的适配工作了.不得不说,新系统和新机型的发布确实 ...

  6. ios-bug.html黑屏重启,iOS 13逼疯果粉:刚买的iPhone黑屏,重启也没用

    原标题:iOS 13逼疯果粉:刚买的iPhone黑屏,重启也没用 上周五iPhone 11正式发售啦! 基哥的王八绿11 Pro也刚到手. 不过最近有个新闻,让刚拿到新机的基哥瑟瑟发抖. 油管上的一位 ...

  7. iOS 13.2正式版放出 支持AirPodsPro

    就在所有苹果用户都将目光聚焦在新款降噪版AirPodsPro时,苹果悄然推出了iOS 13.2的正式版系统.新版iOS系统不仅对AirPods Pro提供了支持,还新增了59个全新的Emoji表情符号 ...

  8. 苹果se2_太快了!苹果已面向iPhone SE 2用户推送iOS 13.4.1

    ☀苹果资讯频道是微信里最热的.粉丝最多的苹果类公众号!这里苹果迷的聚集地!查苹果保修.查苹果序列号.查iPhone报价.苹果iPhone估价.买卖二手iPhone.iPhone回收.鉴别苹果山寨机.找 ...

  9. 苹果屏蔽更新描述文件_苹果推送 iOS 13 首个公测版更新 | 附描述文件获取方法...

    苹果今天凌晨向所有用户推送了 iOS 13/iPadOS 13 首个公测版本,该版本原计划于 7 月推出.目前使用体验来看,iOS 13 首个公测版与内测 Beta 2 完全一样,还是有很多问题会影响 ...

最新文章

  1. 11g中AWR新快照视图
  2. 既是移动硬盘也是微型计算机,既是移动硬盘也是微型计算机 Gnarbox 2.0 SSD让你随时随地备份自己的照片...
  3. KVM-QEMU基本工作原理分析(二)
  4. 触发器和java的关系_触发器-1 - java ee spring - 博客园
  5. Splitting into digits
  6. 如何让linux服务器同步互联网时间
  7. php l方法,ThinkPHP的L方法使用简介
  8. 给定a、b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a、b文件共同的url?...
  9. 电脑小白和黑客的对白
  10. python更改端口
  11. [渝粤教育] 同济大学 线性代数学习指导 参考 资料
  12. 2020-11-30 03_空域图像处理 笔记
  13. oracle for扫描行,请教索引范围扫描具体IO行为?
  14. 订单审批流程 数据库表设计
  15. 使用python制作矢量图
  16. 用css3风车转动动画代码
  17. 什么是计算机语言????
  18. 苹果XS怎么截屏_苹果发布iOS14,有哪些值得一说的亮点
  19. VUE Object.assign()的使用
  20. java单例模式构造器初始化_秒懂java单例模式,java私有构造器与一夫一妻制

热门文章

  1. mysql lisensce_Linux之lldptool命令
  2. JAVA_IO流四大家族(2)
  3. 巅峰极客2021 what_pickle——一道综合性的python web
  4. 网络即服务(NaaS)是什么???
  5. python爬虫,爬取糗事百科并保存到文件中
  6. 10、查看索引(SHOW INDEX)
  7. 将数据到处到Excel
  8. html实战例子: 点击图片超链接跳转
  9. Java继承Thread类创建多线程
  10. MySQL带关系运算符的查询