2

X秒ごとにユーザー座標を取得したい。
アプリデリゲートに入る場所を追加しました。

- (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...

しかし、ロケーションをライブに保つために何をすべきかわかりませんか?

4

1 に答える 1

2

info.plist:

R.クリック->行を追加してRequired background modes->を選択し、項目0で選択App registers for location updates

于 2012-10-11T12:52:25.483 に答える