ios - 为什么不调用 didDiscardSceneSessions ?
问题描述
我有一个仅限 iOS 13 的应用程序。我需要在didDiscardSceneSessions
. 我的理解是,您通过输入应用程序公开并在场景上向上滑动以使其消失来“丢弃”场景。
func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions:
Set<UISceneSession>) {
print("❗️didDiscardSceneSessions")
}
当我向这个函数添加断点或打印命令时,它永远不会被调用。上面是一个例子。
根据文件...
当用户从应用切换器中移除场景时,UIKit 在完全丢弃场景的关联会话对象之前调用此方法。(UIKit 也调用这个方法来丢弃它不能再显示的场景。)如果你的应用没有运行,UIKit 会在你的应用下一次启动时调用这个方法。
我似乎根本无法触发此方法。我正在使用物理 iPad 作为我的测试设备。
更新
我做了更多的修改,结果证明sceneDidDisconnect
在关闭窗口后也没有调用。
我在一个新的单视图应用程序中做了一些测试。我放了一个断点didDiscardSceneSessions
,它起作用了。然后我将 info.plist 中的“启用多个窗口”设置为“是”,它停止工作。是什么赋予了?