ラベルに表示したり Web サーバーに送信したりするために、一定の時間間隔で GPS 座標を提供するアプリを構築しようとしていますが、難しいことがわかっています。正確なライブ GPS 座標を取得することはできましたが、ボタンを押してラベルを更新する必要があります。
didUpdateLocation メソッドは今のところこれで問題ないと思いますが、決して実行されないようです。NSLog の投稿を含めてこれをテストしています。Apple の LocateMe サンプル アプリでこれを行うと、正常に動作します。
以下は私の方法です:
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
theLocation = [NSString stringWithFormat:@"latitude: %f
longitude: %f", locationManager.location.coordinate.latitude,
locationManager.location.coordinate.longitude];
NSLog(@"location manager did something!!!");
}
問題は上記の方法以外にあると推測していますが。それがstartUpdatingLocationであるため、viewDidLoadメソッドを含める必要があると思います。
- (void)viewDidLoad
{
[super viewDidLoad];
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
[outletLabelData setText:(@"Loaded")];
}
また、ボタン アクション メソッドに startUpdatingLocation を設定し、更新を開始および停止するスイッチのように機能させることも試みましたが (更新イベントをトリガーする必要があります)、まだ成功していません。
その他の詳細:
- Xcode 4.4
- iOS 5.1
- Mac に接続した状態で iPhone でアプリをテストする
誰でもこれを手伝ってもらえますか?