在info.plist中配置
<key>NSLocationAlwaysUsageDescription</key>
<string>始终获取定位服务</string>
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
<string>location</string>
<string>remote-notification</string>
</array>
引用
#import <CoreLocation/CoreLocation.h>
定义一个
@property(nonatomic,strong)CLLocationManager *locMgr;
实例化locMgr对象后,要设置一下两个才能持续后台定位pausesLocationUpdatesAutomatically和allowsBackgroundLocationUpdates
只设置其中一个是不能实现后台持续定位的,网上的资料就是少了这两个设置,其他的设置就和平常普通定位一样.
self.locMgr.pausesLocationUpdatesAutomatically=NO;
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8) {
//[_locationManager requestWhenInUseAuthorization];
[self.locMgr requestAlwaysAuthorization];
}
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9) {
self.locMgr.allowsBackgroundLocationUpdates = YES;
}
这样设置后,只要定位服务是开启的,该app就能在后台一直跑.服务关闭,app到后台就会停止运行