首页 > 解决方案 > 使用 SwiftUI 时如何检查应用程序是否在 Apple Watch 上进入后台

问题描述

我知道对于 iOS 应用程序,您可以使用类似

Text("Hello, World!")
    .onReceive(NotificationCenter.default.publisher(for: UIApplication.willResignActiveNotification)) { _ in
        print("Moving to the background!")}

但我不能为 WatchOS 使用 willResignActiveNotification。我应该怎么做才能检测我的 watchOS 应用程序是否进入后台?

标签: swiftbackgroundswiftuiwatchkitwatchos

解决方案


您需要使用这些WKExtensionDelegate方法来监控 WatchKit 应用程序生命周期事件。这些事件不会触发任何通知,因此您需要改为实现applicationWillResignActive委托方法。您可以从那里发布自定义通知并让您View收听这些通知,或者简单地创建一个在方法调用Publisher上发出值的自定义。WKExtensionDelegate


推荐阅读