如何解决只接收活动的scenePhase,不继续XCode 12.4 IOS 14
我正在尝试执行一些我之前放在我的应用程序委托中的代码,例如在进入后台时保存我的托管对象上下文。它确实读取 .active
并且它确实打印“Active”,但是,当我退出应用程序或任何事情(当我改变阶段时)时,它不会读取 .background 或 .inactive,并且它只运行一次,当我只运行应用程序时,它不会运行两次,这是我的代码:
import SwiftUI
@main
struct TestingApp: App {
@Environment(\.scenePhase) var scenePhase
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
@Injected var authenticationService: AuthenticationService
@SceneBuilder var body: some Scene {
WindowGroup {
StatusBarView{
RootView().environmentObject(authenticationService).environmentObject(ProgressBarState())
}
} .onChange(of: scenePhase) { phase in
switch phase{
case .background:
print("background")
case .inactive:
print("inactive")
case .active:
print("active")
@unkNown default:
print("something new added by apple")
}
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。