我想在iOS上实现一项功能,以便在到达特殊位置时通知用户(例如公交车站,不要错过它),如果用户始终将应用程序置于前台模式,使用GPS位置检测,则很容易无论是否到达。关键是如何在后台模式下实现它。
一种可能的解决方案是在后台模式下更新GPS,比如地图导航APP,但是如你所知GPS是电力杀手,用户可能不喜欢它。
请参阅CoreLocation API,找到以下委托回调,我不确定它们是否在后台模式下运行良好。关于这个主题的任何想法请一起分享和讨论,并提前感谢。
- (void)locationManager:(CLLocationManager *)manager
didEnterRegion:(CLRegion *)region __OSX_AVAILABLE_STARTING(__MAC_10_7,__IPHONE_4_0);
- (void)locationManager:(CLLocationManager *)manager
didStartMonitoringForRegion:(CLRegion *)region __OSX_AVAILABLE_STARTING(__MAC_TBD,__IPHONE_5_0);
答案 0 :(得分:1)
来自Location and Maps Programming Guide
在iOS中,始终跟踪与您的应用相关联的区域, 包括应用程序未运行时。如果跨越区域边界 当应用程序未运行时,该应用程序将重新启动到后台 处理这个事件。同样,如果应用程序在事件发生时暂停 发生了,它被唤醒并给予了很短的时间(大约10 秒)处理事件。必要时,应用可以请求更多 后台执行时间使用 beginBackgroundTaskWithExpirationHandler:UIApplication的方法 类。