我应该使用哪种方法将数据发送到 Apple Watch 并返回?

Which method should I use to send data to Apple Watch and back?

我有一个类似于待办事项列表的应用程序。用户创建了他们希望在 iPhone 上完成的任务,并且每天都会在所需的时间提醒他们完成该任务。但是,我不确定哪种数据传输方法最适合我的应用程序。我希望 Apple Watch 至少能够查看和完成任务。当任务完成、添加或删除时,我还希望在 Watch 和 iPhone 上更新数据。

我应该使用:

updateApplicationContexttransferUserInfosendMessage 或任何其他方法?

updateApplicationContext具有以下优点:

  • 传输在后台进行,即使配对的应用程序未打开。数据被传输,为您的应用程序保留,然后在您打开您的应用程序时接收。

  • 传输始终包含您的任务的最新状态。任何后来的传输都会替换任何较早传输的应用程序上下文数据。您不必处理多个用户信息数据、应用旧数据、逐个更改,这些数据可能会被队列中更靠后的新信息所取代。

其他方法的可能缺点

transferUserInfo 将排队并发送有关列表(或任务)的多个信息。虽然这在逐个任务的基础上可能很好,但您必须处理整个更改队列以使整个列表成为数据,重复您所做的任何工作以在配对设备上应用相同的更改。

sendMessage 需要两个可访问的应用程序之间的交互式通信,但您通常不会同时在两个设备上使用该应用程序。