我已经创建了一个针对iOS 13
的新项目,并且正如预期的那样,它自动添加了SceneDelegate pattern
。我不想启用多个窗口,因此我没有编辑AppDelegate
和SceneDelegate
文件中的任何内容。问题是调用了scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions)
,但是没有附加场景。实际上,如果我在第一个视图控制器中使用此代码(在我的情况下,是一个简单的启动屏幕):
let windowScene = UIApplication.shared
.connectedScenes
.first
if let windowScene = windowScene as? UIWindowScene {
let popupWindow = UIWindow(windowScene: windowScene)
}
场景状态未附加。我想念什么?我已经读过故事板,无需手动添加场景。
编辑:如果我尝试从UIApplication
访问窗口,我也会得到nil:
let w = UIApplication.shared.windows.filter {$0.isKeyWindow}.first