如何从配套的 iOS 应用程序执行 watchOS 应用程序上的功能?

问题描述

目标:

当用户在 iOS 配套应用上选择一个活动时,我想在 watchOS 手表应用上执行一个功能。

例如,如果 Watch 扩展中有一个名为 watchFunction() 的函数,我想从 iOS 应用程序中执行 watchFunction()


我查看了有关 watch lifecycles 的 Apple 文档并在 background 中运行 watchOS 应用程序,以及类似 this one 这样的 SO 问题,但没有找到任何关于启动 watchOS 应用程序的配套应用程序(watchOS 2 的最新回答日期为 2016 年)

在iOS配套应用上,我可以通过下面的代码成功检测手表是否配对,但是我缺乏在watchOS应用上执行功能的方法,无论watchOS应用是在前台还是后台。

最好的方法是什么?

func detectIfAppleWatchPaired() { //see if the user has an Apple Watch paired
        if WCSession.isSupported() { // check if the device support to handle an Apple Watch
            let session = WCSession.default
            session.delegate = self
            session.activate() // activate the session
        }
    }
    
    func session(_ session: WCSession,activationDidCompleteWith activationState: WCSessionActivationState,error: Error?) {
        if activationState == .activated && session.isPaired { // Check if the iPhone is paired with the Apple Watch
            print ("⌚️ Apple watch detected")
        } else {
            print (error ?? "No error?")
        }
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)