当app在后台时,不会调用didUpdateLocations

时间:2015-11-22 16:41:36

标签: ios cllocationmanager

当应用程序处于活动状态并在前台运行时,

didUpdateLocations正常工作,但只要应用程序进入后台,它就会停止工作

在.h文件中

@property (nonatomic, strong) CLLocationManager *customerLocationManager;
<。>文件中的

@synthesize customerLocationManager;



customerLocationManager = [[CLLocationManager alloc] init];
customerLocationManager.delegate = self;
customerLocationManager.desiredAccuracy = kCLLocationAccuracyBest;
customerLocationManager.distanceFilter = kCLDistanceFilterNone;

if(IS_OS_8_OR_LATER) {
    [customerLocationManager requestAlwaysAuthorization];
}
[customerLocationManager startUpdatingLocation];

我在info.plist中集成了 NSLocationAlwaysUsageDescription 。已启用后台模式,并且已选择位置更新选项

1 个答案:

答案 0 :(得分:33)

  

我在info.plist中集成了NSLocationAlwaysUsageDescription。已启用后台模式并已选择“位置更新”选项

很好,但在iOS 9中还有一个要求:您必须将位置管理器的allowsBackgroundLocationUpdates设置为YES。你没有这样做,所以你不会得到后台位置更新。