Как получить данные из приложения iOS, инициировав вызов в усложнении watchOS? - PullRequest
0 голосов
/ 04 сентября 2018

Я сейчас размещаю

[[WCSession defaultSession] transferUserInfo:applicationDict];

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

getCurrentTimelineEntryForComplication

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

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

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

1 Ответ

0 голосов
/ 20 декабря 2018

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

handle(_ backgroundTasks: Set<WKRefreshBackgroundTask>)

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

WCSession.default.transferCurrentComplicationUserInfo(_)

в

application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
...