Есть ли способ обновить услугу прямо из приложения для iPhone?

Я бы хотел, чтобы пользователь мог вообще обойти приложение для часов, если это возможно.

Я попытался импортировать ClockKit на моем ViewController, чтобы создать экземпляр CLKComplicationServer, Я получаю ошибку "Нет такого модуля".

Есть ли способ напрямую связаться с усложнением из приложения для iOS?

1 ответ

Решение

CLKComplicationServer это часть ClockKit это доступно только watchOS2.

Вы можете отправить данные для осложнения из iOS, используя [WCSession transferCurrentComplicationUserInfo:], Не как [WCSession transferUserInfo:] Это разбудит приложение watchOS и доставит ваше сообщение как можно скорее.

Это разбудит ваше приложение watchOS и позвонит -(void)session:(WCSession *)session didReceiveUserInfo:(NSDictionary<NSString *,id> *)userInfo сторожевой стороны WCSessionделегат. В этом делегате вы можете использовать ComplicationServer как это:

CLKComplicationServer* server = [CLKComplicationServer sharedInstance];
[server.activeComplications enumerateObjectsUsingBlock:^(CLKComplication * _Nonnull each, NSUInteger idx, BOOL * _Nonnull stop) {
    [server reloadTimelineForComplication: each];
}];

наконец это вызовет ваш ComplicationController,

Другие вопросы по тегам