Обновите модель данных на Apple Watch, когда приложение телефона находится в фоновом режиме
Я написал приложение для iOS, которое обновляет свою модель данных при получении push-уведомления, когда приложение находится на переднем плане, после получения данных с сервера я отправляю эту информацию в приложение набора часов, используя:
// This code resides in ErrorsViewController.swift
func updateWatchContext() {
do {
let messages = convertParseObjectsToJSON(tasks)
try session?.updateApplicationContext(["messages" : messages])
} catch let error as NSError {
NSLog("Updating the context failed: " + error.localizedDescription)
}
}
func convertParseObjectsToJSON(data:[PFObject])->[[String : AnyObject]]
{
var data = [[String:AnyObject]]()
for var i = 0; i < tasks.count; i++
{
let object = tasks[i]
data.append([
"createDate" : object["createDate"],
"errorMessage" : object["errorCode"]
])
}
return data
}
Это прекрасно работает, когда приложение находится на переднем плане, модель данных обновляется на часы, как и ожидалось. Тем не менее, в случае, если телефон работает в фоновом режиме, как я могу сделать фоновую выборку, проанализировать данные и отправить их в приложение watchkit, не будя iPhone, используя соединение часов?
Я думал о попытке добавить код в AppDelegate, но я не верю, что это сработает. Я хотел бы отметить, что я не хочу делать какие-либо сетевые запросы непосредственно от самих часов из-за ограниченной мощности процессора; было бы не нужно обрабатывать данные там.