XCode11创建项目iOS13适配,以及运行黑屏问题处理

Xcode 11创建的工程,一开始运行时会出现黑屏现象。里面也多出SceneDelagate的文件。
原因:

  1. Xcode 11 默认是会创建通过UIScene管理多个UIWindow的应用,工程中除了 AppDelegate外会多一个SceneDelegate
  2. AppDelegateSceneDelegate是iPadOS带来的新多窗口支持的结果,并且有效地将应用程序委托的工作分成两部分。
    在多窗口开发iPadOS中,从iOS 13开始,AppDelegate应该:
  • 设置应用程序期间所需的任何数据。
  • 响应任何专注于应用的事件,例如与您共享的文件。
  • 注册外部服务,例如推送通知。
  • 配置您的初始场景。

IOS13之后,生命周期时间就开始由UISceneDelegate接管。
解决适配方案:

  1. 删除掉info.plistApplication Scene Manifest选项,同时可以删除Scenedelegate.hScenedelegate.m
  2. 删掉AppDelegate.m中的#pragma mark - UISceneSession lifecycle的代码
  3. AppDelegate.h中添加@property (strong, nonatomic) UIWindow * window;

重新编译运行,黑屏终于变白!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值