0

などを使用して現在の位置を取得する Objective-C で書かれた単純なアプリがありますCLLocationManager。コードは iPhone 6.1 シミュレーターでは正常に動作しますが、実際の iPod touch では動作しません。iPod Touch 第 3 世代は iOS5.1 を実行しており、位置情報サービスを有効にするようユーザーに要求しますが、更新されません。ご要望があればコードを投稿することもできますが、明らかな互換性の問題があり、かなり簡単な修正になると思いました。どんな助けでも大歓迎です!ありがとう!〜カーペットフィズ

ViewController.h

#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>

@interface ViewController : UIViewController <CLLocationManagerDelegate>
{
    CLLocationManager* locationManager;
}

@property (weak, nonatomic) IBOutlet UILabel *labelLong;
@property (weak, nonatomic) IBOutlet UILabel *labelLat;
-(IBAction)updateLocaitonButtonAction:(id)sender;
@end

ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
@synthesize labelLong,labelLat;

- (void)viewDidLoad
{
    [super viewDidLoad];
    locationManager = [[CLLocationManager alloc]init];
    locationManager.delegate = self;
    locationManager.distanceFilter = kCLDistanceFilterNone;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    [locationManager startUpdatingLocation];
}

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
    CLLocation *location = [locations lastObject];
    NSLog(@"%f,%f",location.coordinate.latitude,location.coordinate.longitude);
    self.labelLong.text = [NSString stringWithFormat:@"%f",location.coordinate.longitude];
    self.labelLat.text  = [NSString stringWithFormat:@"%f",location.coordinate.latitude];
    [locationManager stopUpdatingLocation];
}

-(IBAction)updateLocaitonButtonAction:(id)sender
{
    [locationManager startUpdatingLocation];
}


- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
4

1 に答える 1

2

このデリゲートを使用するだけです

 - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
      CLLocation *location = newLocation;
      NSLog(@"%f,%f",location.coordinate.latitude,location.coordinate.longitude);
}
于 2013-06-30T09:18:54.347 に答える