我当前正在使用Xcode 11 Beta5。在我的应用程序中,它可以在iOS 12及更低版本上正常运行。但是,在iOS 13上,默认情况下似乎使用的是UIScene。这导致我的应用无法执行任何操作。
当应用程序以全新安装方式启动时,用户必须接受条款和条件。同意后,他们进入加载屏幕,然后将其定向到主视图。在我发布的屏幕截图中,当前当前前景背后的视图是启动加载屏幕。
我们将很快考虑在整个应用程序中添加多视图场景支持,但是现在我们需要处理更高优先级的内容。
该应用程序目标的“常规”设置中的“支持多个窗口”已被禁用。另外,我在info.plist文件中将“启用多个Windows”设置为“否”。
到目前为止,什么都没有真正起作用。基本上我想选择退出/禁用多个窗口和UIScene / SwiftUI以恢复iOS 10-12中的原始行为。这可能在iOS 13中还是我们必须对其进行更新?
更新:
这是视图调试层次结构的屏幕截图。左侧是iOS 12,右侧是iOS13。没有在Info.plist中添加任何内容,也没有添加任何场景委托类或方法,为什么会有不同?几乎可以在Xcode 11的现有生产就绪代码中运行它。
即时实现深层链接是iOS。我已经在 Project-Setting->Info->Url type URL Schemes 中配置了 URL Schemes : carwash role:Viewer
当我输入 carwash://something 时,浏览器要求打开应用程序,但在应用程序中没有调用我处理应该发生的操作。
苹果文档说你应该在 AppDelegate 中覆盖 application(open url) 但深层链接不调用它并且应用程序在最后状态打开
application:openURL:options:' 未被调用
这是我的代码并且不起作用
func application(_ app: UIApplication, open url: URL,
options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
fatalError()
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
if let url = launchOptions?[UIApplication.LaunchOptionsKey.url] as? URL {
/// some
fatalError()
}
GMSServices.provideAPIKey("")
return true
}
Run Code Online (Sandbox Code Playgroud)
swift 5 模拟器:iOS 13