Watchkit TransferCurrentCompliationUserInfo是否更适合复杂度更新?

Watchkit TransferCurrentCompliationUserInfo是否更适合复杂度更新?,watchkit,apple-watch,apple-watch-complication,clockkit,wcsession,Watchkit,Apple Watch,Apple Watch Complication,Clockkit,Wcsession,TransferCurrentCompliationUserInfo和transferUserInfo之间有什么区别 我想将数据从AppDelegate发送到时钟套件 TransferCurrentCompliationUserInfo似乎与transferCurrentUserInfo的功能完全相同。我错过了什么吗?据我所知: 当从父应用程序应用程序委托调用TransferCurrentCompliationUserInfo时,TransferCurrentCompliationUserInf

TransferCurrentCompliationUserInfo
transferUserInfo
之间有什么区别

我想将数据从AppDelegate发送到时钟套件

TransferCurrentCompliationUserInfo
似乎与
transferCurrentUserInfo
的功能完全相同。我错过了什么吗?

据我所知:
当从父应用程序应用程序委托调用TransferCurrentCompliationUserInfo时,TransferCurrentCompliationUserInfo与transferCurrentUserInfo具有相同的功能,但是,TransferCurrentCompliationUserInfo还调用CLKServer……等来更新复杂性。我不得不说,我发现这两种方法都不可靠,我正在努力用TransferCurrentCompliationUserInfo来更新我的应用程序。似乎并不总是有效。恼人的是,它在不同的构建之间变化,而不改变代码,这在技术上是不可能的。哦,好吧…

这两种方法之间的区别涉及何时发送数据,以及是否唤醒watchkit扩展

TransferCurrentCompliationUserInfo:
专门设计用于传输当前显示在手表表面的用户信息

  • 用户信息标记为“紧急”,并放在队列的前面
  • 手表在后台唤醒分机以接收信息,然后
  • 转移立即发生。(其他排队的信息也可能在该点传输。)
transferUserInfo:
排队等待信息,当系统确定是处理队列的最佳时机时,这些信息将被传输:

  • 用户信息放在队列的后面
  • 如果分机未唤醒,则存储传输的信息
  • 转让不会立即发生,并且
  • 信息按发送顺序发送
有关更多详细信息,请参阅

iOS 10的更新:

在iOS 10中,
WCSession
添加一个属性,该属性会影响iOS将使用哪个方法传输用户信息:

当天您可以调用
TransferCurrentCompliationUserInfo:
的剩余次数。如果此属性设置为0,则对
TransferCurrentCompliationUserInfo:
的任何其他调用都将改用
transferUserInfo:

如果并发症发生在活动手表表面上,则每天会给您50次转移。如果并发症未激活,则此属性默认为0