ios - SwiftUI 仅显示黑屏

标签 ios xcode ios-simulator swiftui

大约两周前去度假之前,我在 SwiftUI 中创建了一些非常好的项目。当我回来后,我更新了 Xcode 和我的 iPhone。

SwiftUI 的代码不相关,因为它之前工作得很好。我在多个测试项目中得到的只是一个纯黑的屏幕。

当我的所有项目在更新 Xcode 和我的设备之前运行时,是什么导致它们只是显示黑屏?

版本:

My device - 13.0 beta 4

Simulators don't work - not sure on versions

Xcode-beta - 11.0 beta 4 (11M374r)

最佳答案

SceneDelegate.swift中替换

let window = UIWindow(frame: UIScreen.main.bounds)
window.rootViewController = UIHostingController(rootView: ContentView())
self.window = window
window.makeKeyAndVisible()

if let windowScene = scene as? UIWindowScene {
    let window = UIWindow(windowScene: windowScene)
    window.rootViewController = UIHostingController(rootView: ContentView())
    self.window = window
    window.makeKeyAndVisible()
}

如果您最初有一个 .environtmentObject 附加到 ContentView() 上,请不要忘记将其添加到 ContentView() 中上面的代码。

当您在 Xcode beta 4 中创建新项目时,我发布的第二个代码块是在 SceneDelegate.swift 中自动生成的。我发布的第一个代码块是在 beta 4 之前的所有版本中自动生成的。正如您在第二个代码块中看到的,窗口现在使用 SceneDelegate 提供的 scene 进行初始化 函数 scene(scene:, session:, connectionOptions:) 而不是 CGRect (UIScreen.main.bounds)。

关于ios - SwiftUI 仅显示黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57205114/

相关文章:

iphone - 我目前有一个加速计 Action ,可以显示图像但不会清除/重置

iphone - 删除确认

ios - 未收到 Facebook 请求

iphone - 模拟 iPhone 的低电量

ios - AudioKit:长笛的无限播放时间和频移?

ios - AVAudioSession.sharedInstance 没有被调用

ios - 如何删除核心数据数据库中的数据?

xcode - 如何在xcode中创建cocos2dx-3.0项目?

ios-simulator - 模拟器无法启动,因为它已在使用中。每次运行

ios - iPhone 6和iPhone 6 Plus的应用程序屏幕顶部和底部有1像素黑线