我编写了一个地理围栏 iOS 应用程序,它使用 startmonitoringsignificantlocationchanges 来触发需要网络查询的操作。它不能可靠地工作,因为有时网络延迟会导致应用程序终止。我确实意识到文档说,如果我尝试进行花费太长时间的网络查询,iOS 可能会终止应用程序:
"If you leave this service running and your application is subsequently suspended or terminated, the service automatically wakes up your application when new location data arrives. At wake-up time, your application is put into the background and given a small amount of time to process the location data. Because your application is in the background, it should do minimal work and avoid any tasks (such as querying the network) that might prevent it from returning before the allocated time expires. If it does not, your application may be terminated."
当 iOS 因进入区域而启动我的应用程序时,是否有另一种方法可以在后台启动网络查询?
是的,您必须调用 beginBackgroundTaskWithExpirationHandler。见这里:
http://www.mindsizzlers.com/2011/07/ios-background-location/
关于ios - 开始监控重要位置变化并查询网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19896245/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |