将数据从 Apple Watch 发送到 iPhone

Posted

技术标签:

【中文标题】将数据从 Apple Watch 发送到 iPhone【英文标题】:Sending Data from Apple Watch to iPhone 【发布时间】:2019-10-16 09:21:49 【问题描述】:

我目前使用的是 Xcode 11.1,我在网上的任何地方都没有看到这个错误。

我希望能够,因此我创建了一个应用程序,它使用从 Apple Watch 到 iPhone 的 sendMessage。

在 ViewController.swift 中,我有

    override func viewDidLoad() 
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        self.wcSession = WCSession.default
        self.wcSession.delegate = self
        self.wcSession.activate()
    

    func session(_ session: WCSession, didReceiveMessage message: [String : Any], replyHandler: @escaping ([String : Any]) -> Void) 
        print(message["test"])
    

在我的 InterfaceController.swift 中,我有

    @IBAction func sendToPhone() 
        transferToPhone = ["test": "FROM WATCH"]
        wcSession.sendMessage(transferToPhone, replyHandler: reply in print("done"), errorHandler: error in print(error.localizedDescription))
        print("sent data over to phone")
    

我从中得到的错误是

2019-10-16 17:14:39.345525+0800 sendTest WatchKit Extension[7302:293398] [WC] WCSession ios app not installed
2019-10-16 17:14:39.348442+0800 sendTest WatchKit Extension[7302:293398] [WC] -[WCSession _onqueue_notifyOfMessageError:messageID:withErrorHandler:] (null) errorHandler: YES with WCErrorDomain:7018
Companion app is not installed.

但是,iPhone 和 Watch 应用程序都已安装。我什至可以将数据从 iPhone 发送到 Watch 应用程序。我目前将 iPhone 的 UpdateApplicationContext 用于 Watch,将 Watch 的 SendMessage 用于 iPhone。

【问题讨论】:

对于以后看到此问题的任何人来说,这似乎是 Apple SDK 的问题。它在 iPhone 和 Apple Watch 上完全可以正常工作,但在运行 iOS 13.1 和 watchOS 6 的 Xcode 11.1 的模拟器上无法正常工作 【参考方案1】:

我无法在 Xcode 11.1 (11A1027) 中重现这一点。我建议在开发者工具 → 模拟器下的反馈助手中提交错误报告。确保在终端中运行xcrun simctl diagnose,然后将输出的模拟器日志附加到报告中。

也许现在下载最新的 Xcode 11.2 测试版会有所帮助?

【讨论】:

嘿,奥斯汀!感谢您的回复。在我看来,问题出在 SDK 上,因为我能够在自己的 iPhone 和 Apple Watch 上运行该应用程序。我一定会向 Apple 发送报告。【参考方案2】:

检查 Xcode 项目的 WatchKit 扩展目标中是否勾选了“Supports Running without iOS App Installation”。 如果已选中,请取消选中。

【讨论】:

感谢在“常规”>“部署信息”下找到复选框,但现在我有一个“目标'###'和'### WatchKit Extension'之间的依赖关系循环;构建可以产生结果不可靠……”。

以上是关于将数据从 Apple Watch 发送到 iPhone的主要内容,如果未能解决你的问题,请参考以下文章

如何将 int 从 iPhone 发送到 Apple Watch 标签(objective-c)

如何从 Apple Watch 获取实时健康更新,与健康工具包同步并将其发送到服务器?

Apple Watch:这是让 Apple Watch 应用获取新数据的好方法吗?

如何在 Objective-C 中的 OS2 中将数据从 Iphone 发送到 Apple Watch

如何从 Apple Watch 获取传感器数据到 iPhone?

当 Apple Watch 处于后台状态或睡眠模式时,我们如何从 iphone 向 Apple Watch 发送消息?