我正在使用重要的位置更改,这工作正常。然后我调用web api,并将位置数据传递给它。
但是,当我没有连接到Internet时,它无法发送消息。
我如何解决这个问题? 我已经尝试将睡眠放入递归发送程序中。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[NSThread sleepForTimeInterval:5.0f];
[self postURL :post :function];
});
这适用于前台的应用程序。它无法发送消息但会继续重试,当互联网可用时它会发送消息,但是当它在后台时它将仅调用postURL一次,第一次调用该函数。
我该如何解决这个问题?或者,当互联网丢失并重新连接时,是否有更好的方法来获取后台通知。
答案 0 :(得分:0)
找到解决方法,转而使用startUpdatingLocation
而非使用startMonitoringSignificantLocationChanges
。
现在似乎有效。
我认为startMonitoringSignificantLocationChanges
不适合将位置数据发送回服务器。