我需要实现以下要求:iOS的后台执行的医疗保健应用
iOS应用应当定期(例如: - 每1小时)收集来自健康应用程序中的数据和数据时,发送到服务器背景模式。
我试图实现此方案象下面这样:
我实现以下代码: -
FUNC applicationDidEnterBackground(应用:UIApplication的){
self.bgTask = application.beginBackgroundTaskWithName("updateMedicalData") {
self.endBackgroundUpdateTask()
}
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0)) {
print("Time remaining ::",application.backgroundTimeRemaining)
NSTimer.scheduledTimerWithTimeInterval(25, target:self, selector:#selector(self.performBackgroundTask), userInfo:nil, repeats:true)
}
}
我已经实现读取的逻辑来自健康应用程序和发送服务器的数据在“performBackgroundTask()”方法中“
但问题是,应用程序仅在后台运行3分钟,并呼叫过期处理程序。
我已经设置了关键的“所需的背景模式”到“从网络应用软件下载的内容”,并为重点的plist文件的“应用程序在后台不运行”到“NO”。
任何人都可以告诉我,如果有可能实现上述要求?
您可能会更好地观察数据何时更新,然后将该数据发送到服务器而不是每小时检查一次。 HKObserverQuery将让你做到这一点 – bolnad
你已经实现了这个?这可能吗?请帮助我。任何想法都会有所帮助。 –