Apple Watch应用在iOS应用启动时获取数据

时间:2016-08-03 13:58:12

标签: ios apple-watch watch-os-2 watchconnectivity

我对WatchConnectivity感到困惑。

我可以从iOS应用程序向监视应用程序发送数据。但是,我只在iOS应用程序启动或激活时发送数据。

我希望手表应用程序从iOS应用程序请求数据。监视应用程序应在启动时请求该信息。

3 个答案:

答案 0 :(得分:2)

  

用户信息和监视应用程序应在启动时请求这些信息。

当用户浏览他们的手表时,为什么他们必须等待数据被请求,接收,然后在应用程序中更新?

您应考虑keep your watch app up to date的其他方法,而不是设计手表应用以在用户启动应用时检索信息。

  • 对于watchOS 2,还有其他方法可以在后台传输当前详细信息,例如updateApplicationContextwhich Ahmed mentioned

  • 对于watchOS 3,您还可以使用刷新任务在后台更新您的手表应用。

这些方法中的任何一种都可以确保信息已经,因此用户无法等待手表应用程序自行更新。

答案 1 :(得分:0)

我遇到了同样的问题。如果我启动iOS应用程序,数据仅发送到手表。 我通过在会话activationDidCompleteWith - 手表的方法中向iOS应用程序发送带有回复处理程序的消息来解决它。它不需要发送任何特定的消息或回复。在将消息发送到iOS应用程序之后,updateApplicationContext被触发并发送数据以供观察。

编辑:经过一些研究后,当手表的第一个数据“到达”时,似乎没有激活iOS端的会话,这就是它无法回答的原因。

答案 2 :(得分:-1)

您可以使用sendMessage方法link to documentation,它是WCSession class的一部分。该方法采用了一个回复处理程序:

  

用于接收来自对方的响应的回复处理程序。如果您不想收到回复,请指定nil。

因此,您可以通过发送带有回复处理程序的消息来有效地通知iOS应用程序,iOS应用程序使用该回复处理程序将数据发回。