【问题标题】:How can detect watch os is ios app closed SWIFTUI如何检测手表操作系统是否关闭了 ios 应用程序 SWIFTUI
【发布时间】:2020-04-02 13:07:35
【问题描述】:

如何在 iOS 应用程序关闭时使用 watch os 进行检测?我使用 swift 和 watchConnectivity。

我也使用 swiftUI

【问题讨论】:

    标签: ios swift swiftui watchos


    【解决方案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()
     }
    

    【讨论】:

      猜你喜欢
      • 2016-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 1970-01-01
      • 2014-03-11
      • 1970-01-01
      • 2021-10-24
      相关资源
      最近更新 更多