在我的应用程序中,当用户位置发生重大变化时,我需要调用API服务。因此,我使用startMonitoringSignificantLocationChanges方法,并在核心定位委托方法(LocationManagerdidUpdateLocations)中处理API调用。当应用程序处于后台或活动状态时,我可以毫不犹豫地调用API。
当应用程序处于暂停状态时,问题就出现了。我知道当SignificantLocationChange被触发时,终止的应用程序为手动重新启动位置服务和处理位置数据提供了少量的时间,在这种情况下,我们可以调用委托方法,我是否需要使用后台任务来调用iOS,或者应该像以前一样进行iOS调用(在活动状态下)。目前,API调用大约需要6-7秒。如果超过10秒,我如何处理API调用?
还有一个问题,如果我不打电话给stopMonitoringSignificantLocationChanges,有什么问题吗?因为我的应用程序总是需要调用API,当用户的位置发生significantLocation更改时。
发布于 2016-06-05 00:12:51
当你说"...I需要调用一个API服务.“你是说给服务器打网络电话吗?如果是的话,那么是的,你应该要求背景时间。
我似乎记得你只有大约30秒的后台时间,而网络通话可能需要不可预测的时间。
您希望进行beginBackgroundTaskWithExpirationHandler
调用,然后在服务器调用完成后调用endBackgroundTask
。
https://stackoverflow.com/questions/37635987
复制相似问题