美文网首页
iOS13生命周期的改动

iOS13生命周期的改动

作者: ios_暗夜行者 | 来源:发表于2020-09-24 17:35 被阅读0次

不知不觉Xcode就,从xcode 7 升级到xcode12了,突然发现,用最新的Xcode12新建一个项目后,AppDelegate里面的window没了,还多了一些UISceneSession lifecycle,一脸懵逼了,然后在网上查找了资料参考了好几篇大神的文章才发现了变化.

iOS 13以下生命周期 

对应到方法就是一些AppDelegate里头的方法以及一些可以注册监听的通知.然而,到了iOS 13这些都失效了.

以上两幅图都是从其他大神那,参考来的,虽然看不懂,没那么深入了解过,就当是看看了解一下了.看不懂也不要紧,只要知道iOS 13 改变了什么就好,即---原本AppDelegate(UIApplicationDelegate)控制生命周期的行为移交给了SceneDelegate(UIWindowSceneDelegate)如果直接使用最新的Xcode创建一个新的App.我们会发现.Appdelegate.m内代码少了一些生命周期的东西,多了一些其他的代码.并且多了一个SceneDelegate的类

苹果文档如是说

In iOS 13 and later, use UISceneDelegate objects to respond to life-cycle events in a scene-based app.

iOS 13及更高版本,使用SceneDelegate对象在基于场景的应用程序中响应生命周期事件。

In iOS 12 and earlier, use the UIApplicationDelegate object to respond to life-cycle events.

在ios 12及更早版本中,使用UIApplicationDelegate对象响应生命周期事件。

也就是说如果不想使用场景,要用回以前的写window的风格就不在info.plist中添加UIApplicationSceneManifest.或者是Xcode11以上的删除UIApplicationSceneManifest(Application Scene Manifest).以及appdelegate.m中注释掉scene有关的代码.还有,在Appdelegate.h中添加一个window属性

 @property (strong, nonatomic) UIWindow * window;

然后就走的以前的Appdelegate的那些方法了,用不习惯这个场景这个功能的就可以按以上方法改回以前在Appdelegate 中创建window使用

补充说明一下,如果不使用iPad的多窗口的话建议大家不要使用场景.

以上内容中整理的素材图片来源于不同文章的大神参考梳理而来,如有雷同尽情谅解.

相关文章

  • Xcode11新建项目的一些问题

    1. 创建项目发现多了两个文件 iOS13的生命周期发生了一些改动,app生命周期在iOS 12之前都是在AppD...

  • iOS13后添加SceneDelegate初始化window方式

    生命周期的变化 iOS13之前 Appdelegate的职责全权处理App生命周期和UI生命周期; iOS13之后...

  • iOS13生命周期的改动

    不知不觉Xcode就,从xcode 7 升级到xcode12了,突然发现,用最新的Xcode12新建一个项目后,A...

  • iOS13 的改动

    首先手机系统升级为iOS13,相应的xcode的版本要升级为11 注意: 使用xcode 10 编译的APP 在i...

  • NSBluetoothAlwaysUsageDescriptio

    iOS13处世以后,苹果隐私授权提示有点改动,关于蓝牙的使用 Dear Developer, We identif...

  • iOS13 SceneDelegate

    iOS13更新之后增加了SceneDelegate文件,AppDelegate不再负责UI的生命周期,交给了Sce...

  • react生命周期只要一张图

    1. react v16 版本生命周期 react v17 (还未发布), 生命周期将被改动,下面红框的部分就是会...

  • Xcode11 删除Storyboard

    iOS13之后,多了个SceneDelegate管理app的部分生命周期。我们以往喜欢纯代码写项目的同学,这个时候...

  • iOS viewWillAppear not call

    在 iOS 13 中生命周期方法做了改动,viewcontroller 调用 present时,若设置modalP...

  • Xcode11 Could not find a storybo

    xcode 11 新建项目及配置 在xcode11中新建项目默认使用ios13 SDK创建,会直接将APP生命周期...

网友评论

      本文标题:iOS13生命周期的改动

      本文链接:https://www.haomeiwen.com/subject/fkhtuktx.html