WCSession:使用 transferUserInfo 或 sendMessage 的最佳方式?

Posted

技术标签:

【中文标题】WCSession:使用 transferUserInfo 或 sendMessage 的最佳方式?【英文标题】:WCSession: Best way of using transferUserInfo or sendMessage? 【发布时间】:2018-01-19 13:41:27 【问题描述】:

我目前正在使用 transferUserInfo() 以字典数组的形式发送用户列表。

我开始认为我真的没有利用 UserInfo 传输提供给我的 FIFO 行为。

所以我开始考虑是否可以使用 sendMessage() 来发送我的数据。

每个后台传输方法可以包含多少数据会有什么不同吗?

或者使用 transferUserInfo() 而不使用其 FIFO 行为是否可以?

【问题讨论】:

【参考方案1】:

答案取决于您发送数据的方式。

如果您从手表请求数据,然后从手机回复数据,那么您应该使用带有回复处理程序的 sendMessage()。

如果您在没有手表提示的情况下从手机发送数据,您应该使用 transferUserInfo(),因为它允许在后台传输。 sendMessage() 仅在 Apple Watch 处于前台时触发。

【讨论】:

以上是关于WCSession:使用 transferUserInfo 或 sendMessage 的最佳方式?的主要内容,如果未能解决你的问题,请参考以下文章

WCSession 无法发送消息

在 Apple Watch 和 iPhone 之间使用 WCSession 共享数据

watchOS 3 在设备和手表之间共享的类中使用 WCSession

当watchOS应用程序使用HKWorkoutSession在后台运行时如何使WCSession可访问

在 SwiftUI 中使用 WCSession 向 Apple Watch 发送消息

双向更新 WCSession 的应用程序上下文