我想每 X 秒获取一次用户坐标。
我添加了进入应用程序委托(delegate)的位置。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
if([CLLocationManager locationServicesEnabled]){
[self.locationManager startUpdatingLocation];
}
...
在这里我处理新坐标
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
CLLocation *loc = [locations objectAtIndex:0];
NSDate* eventDate = loc.timestamp;
NSTimeInterval howRecent = [eventDate timeIntervalSinceNow];
if (howRecent < 10)
{
CLLocation* location = [locations lastObject];
double lat = location.coordinate.latitude;
double lng = location.coordinate.longitude;
NSLog(@"lat:%f lng:%f", lat, lng);
...
但我不知道当应用程序在后台时如何继续获取 iPhone 坐标。 我想我应该添加一些代码:
- (void)applicationDidEnterBackground:(UIApplication *)application...
但我不知道该怎么做才能保持位置信息正常运行?
最佳答案
在您的 info.plist 中:
R.Click -> 添加一行并选择所需的背景模式
-> 在第 0 项中选择应用程序注册位置更新
关于iphone - 当应用程序处于后台时,每 X 秒获取一次用户坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12839753/