3

甚至我的应用程序也在后台注册位置更新。

在我的代码中:

self.locationManager.desiredAccuracy = kCLLocationAccuracyThreeKilometers;
self.locationManager.distanceFilter = 2500;

而且我没有搬到任何地方。因此,在控制台日志中正好 15 分钟后,我收到了这条消息"Location icon 现在应该处于状态 'Inactive'"。从此时起,我的应用程序不再在后台运行。

它只发生在 iPhone 5 中。

@更新

这是我的代码

self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
[self.locationManager setPurpose:@"Enable Location service for \"My App\" to track your"];
self.locationManager.desiredAccuracy = kCLLocationAccuracyThreeKilometers;

/* Notify changes when device has moved x meters.
 * Default value is kCLDistanceFilterNone: all movements are reported.
 */
self.locationManager.distanceFilter = 2500;
[self.locationManager startUpdatingLocation];
4

2 回答 2

5

当位置服务不活动时,您的应用程序是否在后台?

如果您不想在后台暂停位置更新,则需要设置 pausesLocationUpdatesAutomatically 标志,

if ([self.locationManager respondsToSelector:@selector(pausesLocationUpdatesAutomatically)]) {
    self.locationManager.pausesLocationUpdatesAutomatically = NO;
}
于 2013-10-24T09:06:27.733 回答
2

@property(assign, nonatomic) BOOL pausesLocationUpdatesAutomatically自 iOS 6 以来,Apple 已将CLLocationManager. 默认值为YES。将此属性的值更改为NO,位置跟踪将不会在后台停止。

于 2013-10-24T09:05:46.603 回答