我在swiftUI中遇到了一个非常意外的.scenePhase行为。我已经尝试了这些解决方案,但它仍然显示问题scenePhase changing unexpectedly和Not Receiving scenePhase Changes。下面是我使用的简单代码。
struct TestView: View {
@Environment(\.scenePhase) var scenePhase
var body: some View {
VStack {
Text("BackGround Changes tester")
} .onChange(of: scenePhase) { newPhase in
switch newPhase {
case .background:
debugPrint("appMoveToBackground")
case .inactive:
debugPrint("appMoveToInactive")
case .active:
debugPrint("appMovedToForground")
@unknown default:
debugPrint("scenePhase: @unknown default for ")
}
}
}
}
这就是我使用的代码。有时它运行.background case,有时不运行。这里是控制台输出,您可以看到它没有运行后台案例,这是非常意外的。
。
我正在使用Xcode 14.3,Mac OS Ventura 13.3.1,并在iPhone 13 Pro Max上进行测试。
1条答案
按热度按时间ldioqlga1#
试试看
.task
更可靠。