Подходит ли transferCurrentComplicationUserInfo для обновления усложнения?

В чем разница между transferCurrentComplicationUserInfo и transferUserInfo?

Я хочу отправить данные из моего AppDelegate в комплекс часов.

transferCurrentComplicationUserInfo, похоже, делает то же самое, что и transferCurrentUserInfo. Я что-то упускаю?


person TPeter    schedule 24.10.2015    source источник


Ответы (2)


Различие между этими двумя методами WCSession заключается в том, что данные отправлено, и активировано ли расширение Watchkit или нет.

transferCurrentComplicationUserInfo: специально разработан для передачи сложной информации о пользователях, которая должна отображаться на циферблате прямо сейчас.

  • Информация о сложном пользователе помечена как Срочно и помещается в начало очереди,
  • часы пробуждают расширение в фоновом режиме для получения информации, и
  • перевод происходит сразу. (Другая информация из очереди также может быть передана в этот момент.)

transferUserInfo: помещает информацию в очередь, чтобы передать ее, когда система определит, что настало подходящее время для обработки очереди:

  • Информация о пользователе помещается в конец очереди,
  • переданная информация сохраняется, если расширение не активировано,
  • перевод не происходит сразу, и
  • информация доставляется в том порядке, в котором они были отправлены.

Более подробную информацию можно найти в видеоролике WWDC 2015 Introduction Watch Connectivity.

Обновление для iOS 10:

В iOS 10 WCSession добавляет свойство remainingComplicationUserInfoTransfers, которое может повлиять на то, какой метод iOS будет использовать для передачи информации о пользователе:

Количество оставшихся раз, когда вы можете позвонить transferCurrentComplicationUserInfo: в течение текущего дня. Если для этого свойства установлено значение 0, при любых дополнительных вызовах transferCurrentComplicationUserInfo: вместо этого используется transferUserInfo:.

Если усложнение находится на активном циферблате, вам дается 50 переводов в день. Если усложнение неактивно, это свойство по умолчанию равно 0.

person Community    schedule 14.01.2016

Насколько мне известно: TransferCurrentComplicationUserInfo имеет те же функции, что и transferCurrentUserInfo, когда вызывается из делегата родительского приложения, однако TransferCurrentComplicationUserInfo также вызывает CLKServer ... и т. Д., Чтобы обновить сложность. Я должен сказать, что я считаю оба ненадежными, и я борюсь с TransferCurrentComplicationUserInfo, чтобы обновить свое приложение. Не всегда получается. Раздражает то, что он варьируется между сборками без изменения кода, что технически невозможно. Ну что ж...

person Simon    schedule 23.11.2015