Как получить данные из приложения iOS, инициировав вызов в усложнении watchOS?

я в настоящее время размещаю

[[WCSession defaultSession] transferUserInfo:applicationDict];

Внутри моего контроллера осложнений, внутри

getCurrentTimelineEntryForComplication

Я знаю, что это неподходящее место для этого, но я не знаю, где и когда я должен начать извлекать информацию из iOS. Это, кажется, скудно задокументировано.

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

Итак, как мне это сделать?


person Will Powers    schedule 04.09.2018    source источник


Ответы (1)


Не рекомендуется запрашивать данные с телефона в рамках «getCurrentTimelineEntryForComplication». Apple рекомендует получать данные в

handle(_ backgroundTasks: Set<WKRefreshBackgroundTask>)

в вашем ExtensionDelegate или отправьте данные на часы в backgroundRefreshTask на стороне iOS, используя

WCSession.default.transferCurrentComplicationUserInfo(_)

в пределах

application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
person suvanr    schedule 20.12.2018