transferCurrentComplicationUserInfo更适合复杂更新吗?

TPe*_*ter 4 apple-watch watchkit clockkit apple-watch-complication wcsession

transferCurrentComplicationUserInfo和之间有什么区别transferUserInfo

我想将数据从我的AppDelegate发送到时钟套件复杂功能.

transferCurrentComplicationUserInfo似乎完全一样transferCurrentUserInfo.我错过了什么吗?

小智 9

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

transferCurrentComplicationUserInfo: 专门用于传输复杂的用户信息,以便立即显示在表盘上.

  • 并发症用户信息标记为"紧急",并放在队列的前面,
  • 手表在后台唤醒扩展程序以接收信息,并且
  • 转移立即发生.(其他排队的信息也可能在那时转移.)

transferUserInfo: 排队信息,在系统确定是处理队列的好时机时进行传输:

  • 用户信息位于队列的后面,
  • 如果扩展名未唤醒,则存储传输的信息,
  • 转移不会立即发生,并且
  • 信息按发送顺序发送.

更多详细信息可在WWDC 2015 Introducing Watch Connectivity视频中找到.

iOS 10更新:

在iOS 10中,WCSession添加一个remainingComplicationUserInfoTransfers属性,该属性可以影响iOS将用于传输用户信息的方法:

transferCurrentComplicationUserInfo:在当天可以拨打的剩余时间.如果该属性设置为0,任何额外的呼叫transferCurrentComplicationUserInfo:使用transferUserInfo:来代替.

如果复杂功能在活动表面上,则每天会进行50次转移.如果并发症未激活,则此属性默认为0.