当前位置: 首页 > 面试题库 >

Xcode 11-在iOS 13上退出UISceneDelegate / SwiftUI

商俊智
2023-03-14
问题内容

我当前正在使用Xcode 11 Beta5。在我的应用程序中,它可以在iOS 12及更低版本上正常运行。但是,在iOS
13上,默认情况下看起来像在使用UIScene。这导致我的应用无法执行任何操作。

当应用程序以全新安装启动时,用户必须接受条款和条件。同意后,他们进入加载屏幕,然后将其定向到主视图。在我发布的屏幕截图中,当前当前前景背后的视图是启动加载屏幕。

我们将很快考虑在整个应用程序中添加多视图场景支持,但是现在我们需要处理更高优先级的内容。

https://imgur.com/i0qLhAL

该应用程序目标的“常规”设置中的“支持多个窗口”已被禁用。另外,我在info.plist文件中将“启用多个Windows”设置为“否”。

到目前为止,什么都没有真正起作用。基本上我想选择退出/禁用多个窗口和UIScene / SwiftUI以恢复iOS 10-12中的原始行为。这可能在iOS
13中还是我们必须对其进行更新?

更新:

这是视图调试层次结构的屏幕截图。左侧是iOS
12,右侧是iOS13。在没有向Info.plist或场景代理类或方法中添加任何内容的情况下,为什么会有所不同呢?几乎只是在Xcode
11的现有生产就绪代码中运行了它。

https://imgur.com/C3aLsDo


问题答案:

当您的应用程序在iOS 13及更高版本下运行时,虽然应该拥抱使用场景,但在仍支持iOS 12或更早版本的情况下,您可以完全退出。

首先,从Info.plist中完全删除“ Application Scene Manifest”条目。

如果有场景委托类,请将其删除。

如果您的应用程序委托中有任何与场景相关的方法,请删除这些方法。

如果缺少该属性,则将该属性添加var window: UIWindow?到您的应用程序委托中。

您的应用现在应仅使用应用委托,在iOS 13下,其生命周期应与iOS 12相同。

这些都不是特定于Swift或SwiftUI的。



 类似资料:
  • 我正试图在Mac OS X上运行一个在windows上运行的项目。该项目使用OpenGL和PyQt库。使用OpenGL库时似乎出现了问题。 我下载了一个螺旋的OpenGL演示。 返回OpenGL:b'2.1 NVIDIA-10.0.51 310.90.10.05b12' 当我尝试运行另一个项目时,PyCharm意外退出,我得到以下结果: Mac信息图片 项目链接 主窗口。py公司 gamewidg

  • 昨天,我刚刚在Mac OS Catalina 10.15.7版上安装了面向企业Java和Web开发人员的Eclipse IDE。我拖动日食。从下载文件夹到应用程序文件夹的应用程序。它工作得很好。我创建了几个servlet。但今天,当我点击应用程序打开它时,我收到了一个问题报告(错误),所以它没有打开。 错误详细信息为。。 启动后的唤醒时间:3300秒 系统完整性保护:启用 崩溃的线程:0 异常类型

  • 出现的问题是,当用户确实输入了一个正数时,它仍然忽略输入,并要求用户再次输入一个正整数。我想我只是没有正确退出循环,但我不确定是如何退出的。

  • 问题内容: 我在SceneDelegate中定义了一个let属性。我希望某些ViewController能够在场景中访问它。 在UIKit中,我可以这样访问App Delegate属性: 然后强制转换并指定属性名称… 是否有等效的方法可以从UIViewController的实例获取对视图控制器所在的SceneDelegate的引用? 问题答案: 从iOS 13开始,具有的属性。这些场景中的每一个都

  • 问题内容: 尽管我是一种使用其他语言进行实验的程序员,但是我在Python中还是一个新手。我一直在尝试做一个非常简单的事情,那就是在启动后退出mainloop。看来这很重要。下面的程序仅产生一系列事件。一切似乎都正常,但是我无法关闭最后一个窗口。该怎么办? 问题答案: 致电,而不是: 此外,如果您只想调用函数,则无需创建类。

  • 我在我正在创建的堆积面积图中的函数中遇到了一些问题。 链接 我有一些功能,用户可以通过单击图例矩形/颜色来/图表中的数据。我知道数据正在根据控制台消息和Y轴变化刻度进行更新,但图表中的数据不会更改。例如,如果用户取消选择类别,橙色图层应消失,“失败”和“通过”图层应重新调整。 问题似乎出现在小提琴的第 214 行到第 234 行,特别是在我调用 的地方: 我得到的错误是对象[对象数组]没有方法我尝