Привет Я хочу, чтобы загрузить некоторые данные, используя Alamofire и NSTimer
Alamofire запрос, когда приложение в фоновом режиме
Приложение отлично на переднем плане работы, таймер устанавливается для вызова GetEstado
функции каждые 30 секунд, но когда приложение входит фон таймер паузы, и если мой сервер обновляет что-то он фактически не обновляется на приложение
Вот мой код
func GetEstado(){
Alamofire.request(.POST, "https://myurl/getestado.php", parameters: ["id": id])
.responseString { rta in
if let dataFromString = rta.result.value!.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) {
let json = JSON(data: dataFromString)
for (key,subJson):(String, JSON) in json {
if(key=="e"){
if(subJson.stringValue=="1"){
self.Timer.invalidate()
print("ACTUALIZACION")
let notification = UILocalNotification()
notification.fireDate = NSDate(timeIntervalSinceNow: 5)
notification.alertBody = "UPDATED"
notification.soundName = UILocalNotificationDefaultSoundName
UIApplication.sharedApplication().scheduleLocalNotification(notification)
self.performSegueWithIdentifier("UPDATED", sender: self)
}
else{
print("UPS")
}
}
}
}
}
}
Благодаря
Вы не можете использовать NSTimer, когда ваше приложение находится в фоновом режиме, потому что исполнение приостановлено. Вы можете использовать фоновый выбор, но это будет выполняться только каждые несколько часов. Вы также можете использовать push-сообщения с вашего сервера. Опрос в том, как вы находитесь, очень неэффективен с точки зрения пропускной способности и мощности батареи. – Paulw11