我需要做一个关于这段代码的循环到无限时间的后台线程
我需要做一个关于这段代码的循环到无限时间的后台线程。 如果有可能我需要睡15秒左右。
代码是:
let request = NSMutableURLRequest(url: NSURL(string: "my url string")! as URL) request.httpMethod = "POST" let postString = "my post string" request.httpBody = postString.data(using: String.Encoding.utf8) let task = URLSession.shared.dataTask(with: request as URLRequest) { data, response, error in if error != nil { print("error=\(String(describing: error))") return } let responseString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue) print("responseString = \(String(describing: responseString))") } task.resume()
正如David S在评论中所说,你不能在iOS的后台无限期地运行任务。 您可以询问背景时间,然后大约需要3分钟。
URLSession具有操作系统级别支持文件的后台下载,但它不会执行POST
,并且它不会轮询经常用于GET
的服务器。 总之,我认为你在iOS上运气不好。
(苹果公司竭尽全力阻止应用程序不断运行以保持电池寿命。大多数时候用户的手机被锁定,CPU进入极低功耗模式。)