如何检测手表操作系统是不是关闭了 ios 应用程序 SWIFTUI
Posted
技术标签:
【中文标题】如何检测手表操作系统是不是关闭了 ios 应用程序 SWIFTUI【英文标题】:How can detect watch os is ios app closed SWIFTUI如何检测手表操作系统是否关闭了 ios 应用程序 SWIFTUI 【发布时间】:2020-04-02 13:07:35 【问题描述】:如何在 ios 应用程序关闭时使用 watch os 进行检测?我使用 swift 和 watchConnectivity。
我也使用 swiftUI
【问题讨论】:
【参考方案1】:在应用程序终止时
有这样的方法
applicationWillTerminate(_:)
*Dávid Pásztor 的注意事项 - 您只有 5 秒钟的时间将消息发送到手表,否则它将无法正常工作,因此请确保您发送到手表的消息小而快。
此方法将检测到应用程序正在关闭并将从内存中清除。然后,您可以添加一些连接来通知手表。
此处的文档: https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623111-applicationwillterminate
在应用程序移至后台
或者,如果您只想在应用程序进入后台时通知手表,也就是处于非活动状态,您可以使用此方法。
applicationWillResignActive(_ application: UIApplication)
此处的文档: https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1622950-applicationwillresignactive
【讨论】:
请注意,applicationWillTerminate
仅允许您的 iOS 应用程序运行 5 秒,这很可能不足以通过蓝牙与您的手表应用程序进行通信。
它不工作。我现在有一些应用程序解决了这个问题,但是如何解决?【参考方案2】:
如果你使用的是 SwiftUI
SceneDelegate.swift :
func sceneDidDisconnect(_ scene: UIScene)
sendMessageToWatch()
【讨论】:
以上是关于如何检测手表操作系统是不是关闭了 ios 应用程序 SWIFTUI的主要内容,如果未能解决你的问题,请参考以下文章
Android mic 的灵敏度足以听手表滴答声? [关闭]
如何检测 URL 是不是已粘贴/输入到 UITextView? Swift iOS [关闭]