我已经编写了一个iOS应用程序,当应用程序位于前台时收到推送通知时刷新其数据模型,一旦从服务器检索到数据,我将该信息发送到监视工具包应用程序:
// 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中添加代码,但我不相信这会有效。我想请注意,由于CPU功率有限,我不想直接从手表本身发出任何网络请求;没有必要处理那里的数据解析。