などを使用して現在の位置を取得する 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