Xcode 11.0 新增SceneDelegate以及分屏 详解

IT喃· 2019-11-13
一、背景

升级Xcode 11.0之后,发现创建项目新增SceneDelegate文件,AppDelegate文件中的window属性放到了SceneDelegate中,交给SceneDelegate来管理window。

二、分析
1.主要带来的变化--分屏

先打开一个APP,从底部往上轻滑出dock栏,然后拖动dock栏中的你想分栏的APP图标,放到右边或者左边即可。

五五分还是三七分,按住中间的线,左右拖动即可。

2.分屏目前能在哪些设备上实现

iPhone 暂时不支持分屏。。

12.9寸 iPad Pro

11寸 iPad Pro

10.5寸 iPad Pro

9.7寸 iPad Pro

iPad (2018)

iPad (2017)

iPad mini 2019 (第五代)

iPad mini 4

iPad Air 2019 (第三代)

iPad Air 2
三、项目开发需要注意

好了,现在来正式开始说明开发相关信息。

1.需要分屏。

如果你的项目同时还要兼容iOS13以下版本,可以删除info.plist中的Application Scene Manifest的配置数据。然后把window属性和以前一样的方式,放到AppDelegate中,删除UISceneSession的声明周期方法就OK。

2.不需要分屏。

如果不删除Application Scene Manifest这个配置,就需要做两套配置,来适配iOS 13和以下版本。

iOS 13 主要是在 SceneDelegate中;

iOS 13以下版本 主要是在AppDelegate

3.需要分屏时,需要做如下两个配置

(1)General 中,勾选Supports multiple windows

(2)info.plist中,将Application Scene Manifest -> Enable Multiple Windows设置为YES

4.代码分析

四、总结

这是什么时候写的,还没有结束。。。

最近这段时间有点私事,导致不能正常记录自己的学习和日常,真是惭愧,也希望都事事顺利吧。。