姬長信(Redy)

Xcode 11.0 新增SceneDelegate以及分屏 详解

#####一、背景 升级Xcode 11.0之后/uff0c发现创建项目新增```SceneDelegate```文件/uff0c```AppDelegate```文件中的window属性放到了```SceneDelegate```中/uff0c交给```SceneDelegate```来管理window。 #####二、分析 ######1.主要带来的变化--分屏 先打开一个APP/uff0c从底部往上轻滑出dock栏/uff0c然后拖动dock栏中的你想分栏的APP图标/uff0c放到右边或者左边即可。 五五分还是三七分/uff0c按住中间的线/uff0c左右拖动即可。 ######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 ``` #####三、项目开发需要注意 好了/uff0c现在来正式开始说明开发相关信息。 1.需要分屏。 如果你的项目同时还要兼容iOS13以下版本/uff0c可以删除```info.plist```中的```Application Scene Manifest```的配置数据。然后把```window```属性和以前一样的方式/uff0c放到```AppDelegate```中/uff0c删除```UISceneSession```的声明周期方法就OK。 2.不需要分屏。 如果不删除```Application Scene Manifest```这个配置/uff0c就需要做两套配置/uff0c来适配iOS 13和以下版本。 iOS 13 主要是在 ```SceneDelegate```中/uff1b iOS 13以下版本 主要是在```AppDelegate```中 3.需要分屏时/uff0c需要做如下两个配置 /uff081/uff09General 中/uff0c勾选```Supports multiple windows``` ![](https://cocoachina.oss-cn-beijing.aliyuncs.com/article/201911131022225839) /uff082/uff09info.plist中/uff0c将```Application Scene Manifest -> Enable Multiple Windows```设置为YES 4.代码分析 ``` ``` #####四、总结 这是什么时候写的/uff0c还没有结束。。。 最近这段时间有点私事/uff0c导致不能正常记录自己的学习和日常/uff0c真是惭愧/uff0c也希望都事事顺利吧。。