我正在尝试执行一些我之前放在我的应用程序委托中的代码,例如在进入后台时保存我的托管对象上下文。我将调用放入了.onChangeScenePhase,但我什么也没收到。这是一个示例项目:
import SwiftUI
@main
struct PhaseApp: App {
@Environment(\.scenePhase) private var scenePhase
var body: some Scene {
WindowGroup {
Text("Hello, world.")
}
.onChange(of: scenePhase) { phase in
switch phase {
case .active:
print("Active")
case .background:
print("Background")
case .inactive:
print("Inactive")
@unknown default: break
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
每当我按 Home 或点击应用程序时,我都希望在模拟器或我的测试设备上收到打印命令,但没有任何反应。
swiftui ×1