在后台将数据从 iWatch 发送到 iPhone

Posted

技术标签:

【中文标题】在后台将数据从 iWatch 发送到 iPhone【英文标题】:Send data from iWatch to iPhone in background 【发布时间】:2018-02-27 11:15:15 【问题描述】:

如果我的手表在后台,而 iPhone 应用程序在前台,我想将数据从 iWatch 发送到 iPhone。我通过 timer 方法传输数据。它每一秒都在呼唤。 WCSessionDelegate 方法实现了 iPhone 应用程序文件和手表套件扩展文件。 WCSessionDelegate 方法 didReceiveUserInfo, didReceiveMessage, didReceiveMessage replyHandler 已实现。

let applicationData = ["class":"progress", "mode":"steps"]
WCSession.default.transferUserInfo(applicationData as [String : AnyObject])

【问题讨论】:

【参考方案1】:

经过一些试验并使用代码后,我解决了这个问题,早些时候我在 ViewController 的 viewDidLoad 方法中配置和激活了 WCSession,我发现 Apple 不推荐,他们的建议是我们应该始终设置 WCSession在应用程序生命周期的早期(iWatch 和 iPhone)结束。如果我们在 AppDelegate 和 ExtensionDelegate 中激活它,这将顺利运行。

参考可以看https://developer.apple.com/videos/play/wwdc2015/713/

【讨论】:

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

iWatchk开发:实现iWatch 与 iPhone 之间数据发送与接收

iwatch后台刷新哪些有必要

iPhone与iWatch连接控制数据传递(Swift)

当 iphone 在后台时使用 CLLocationManager 将位置发送到服务器

iWatch开发:WatchOS 消息推送教程

iwatch发送微信小信号有什么用