在大约两周前去度假之前,我已经在SwiftUI中创建了几个很好的项目。当我回来时,我更新了Xcode和我的iPhone。
SwiftUI的代码无关紧要,因为它之前都工作得很好。我在多个经过测试的项目上得到的只是纯黑屏幕。
是什么原因导致我的所有项目在更新Xcode和我的设备之前工作时仅显示黑屏?
版本:
我的设备-13.0 beta 4
模拟器不起作用-不确定版本
Xcode-beta-11.0 beta 4(11M374r)
答案 0 :(得分:2)
在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之前的所有版本中自动生成的代码。正如您在第二个块中看到的那样,该窗口现在使用scene
函数提供的SceneDelegate
{ {1}}而不是scene(scene:, session:, connectionOptions:)
(CGRect
)。
答案 1 :(得分:2)
答案 2 :(得分:0)
尝试重新安装Xcode并查看此link从Xcode beta 3迁移到Xcode beta 4
答案 3 :(得分:0)
从beta 3升级到4之后,我也遇到了这个问题。我在beta 4中创建了一个新项目,并复制了旧项目中的所有内容,并且一切正常。