【发布时间】:2019-12-19 09:02:03
【问题描述】:
我目前正在使用 Xcode 11 Beta 5。在我的应用程序中,它在 iOS 12 及更低版本上运行良好。但是,在 iOS 13 上,它看起来默认使用 UIScene。这导致我的应用程序不执行任何操作。
当应用以全新安装方式启动时,用户必须接受条款和条件。同意后,他们进入加载屏幕,然后将他们引导到主视图。在我发布的屏幕截图中,当前前景后面的视图是初始加载屏幕。
我们很快会考虑在整个应用程序中添加多视图场景支持,但现在我们需要处理更高优先级的工作。
“支持多个窗口”已在应用程序目标的常规设置中禁用。我还在 info.plist 文件中将 Enable Multiple Windows 设置为 NO。
到目前为止,还没有真正奏效。基本上我想选择退出/禁用多个窗口和 UIScene/SwiftUI 以恢复 iOS 10-12 中的原始行为。这在 iOS 13 中是否可行,或者我们必须更新它?
更新:
这是视图调试层次结构的屏幕截图。左侧是 iOS 12,右侧是 iOS 13。没有向 Info.plist 添加任何内容,也没有添加任何场景委托类或方法,为什么会有所不同?几乎只是在 Xcode 11 上现有的生产就绪代码中运行它。
【问题讨论】:
-
您需要只支持iOS 13及更高版本还是需要同时支持iOS 13和iOS 12?
-
@rmaddy 支持 iOS 11-13+(未来版本)。
-
你的主界面是通过代码还是故事板?
-
@rmaddy 它在情节提要中完成,它被引用的 xib ViewControllers 有一个 segue。
-
如果没有关于您的应用正在做什么以及何时执行的具体细节,很难说清楚。请注意,例如,在关闭呈现的视图控制器时,在 iOS 13 中,视图控制器方法(例如
viewWill|DidAppear)的调用方式不同。添加大量生命周期调试消息和断点,比较 iOS 12 和 13 之间的流程,看看有什么不同。