【发布时间】:2019-11-12 13:44:13
【问题描述】:
在 macOS Catalina 上使用 SwiftUI,当启用“支持多个窗口”时,我的 iPad 应用在模拟器中启动时显示黑屏
我正在使用股票 SwiftUI 项目,唯一的变化是单击“支持多个窗口”复选框
这是来自我的 SceneDelegate,我认为这是在 SwiftUI 中设置窗口的正确方法
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
let window = UIWindow(frame: UIScreen.main.bounds)
window.rootViewController = UIHostingController(rootView: ContentView())
self.window = window
window.makeKeyAndVisible()
}
在我的 Info.plist 中,我相信我拥有所需的一切
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<true/>
<key>UISceneConfigurations</key>
<dict>
<key>UIWindowSceneSessionRoleApplication</key>
<array>
<dict>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UISceneConfigurationName</key>
<string>Default Configuration</string>
<key>UISceneDelegateClassName</key>
<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
</dict>
</array>
</dict>
</dict>
【问题讨论】:
-
这不是 我的“股票 SwiftUI 项目”。有一个
if声明嵌入了所有这些......if let windowScene = scene as? UIWindowScene。您使用的是 Beta 2 吗?
标签: swift xcode ipad swiftui ios13