swift - 使用 SwiftUI 时如何检查应用程序是否在 Apple Watch 上进入后台
问题描述
我知道对于 iOS 应用程序,您可以使用类似
Text("Hello, World!")
.onReceive(NotificationCenter.default.publisher(for: UIApplication.willResignActiveNotification)) { _ in
print("Moving to the background!")}
但我不能为 WatchOS 使用 willResignActiveNotification。我应该怎么做才能检测我的 watchOS 应用程序是否进入后台?
解决方案
您需要使用这些WKExtensionDelegate
方法来监控 WatchKit 应用程序生命周期事件。这些事件不会触发任何通知,因此您需要改为实现applicationWillResignActive
委托方法。您可以从那里发布自定义通知并让您View
收听这些通知,或者简单地创建一个在方法调用Publisher
上发出值的自定义。WKExtensionDelegate
推荐阅读
- python - 根据重复模式捕获整个重复字符串
- c# - Crystal Report CSV Generation
- angular - 使用材质主题颜色制作动画
- wordpress - Output SVG as code instead of image tag in WordPress
- ionic-framework - 由于选择器选项宽度,离子无法在选择器中显示完整的月份字符串
- node.js - 需要帮助了解 AWS lambda 上的 nodejs 部署包
- aws-lambda - AWS Lamda 函数被删除。无法找回
- reactjs - React Memo Renders Every Time with same given props
- java - 如何使用 Open JDK 11+ 作为自定义运行时执行 AWS lambda?
- python - I am getting ValueError: could not convert string to float: '8,900'