2012-01-11 14 views
0

私はこれをテストするためにシミュレータとデバイスの両方を使用していますが、私が何をしてもdidUpdateToLocationは呼び出されません。私はシム内の自分の位置を変更しようとしましたが、携帯電話の新しいロケーションサービスをオフにしてからオンにして、電話機に新しいロケーションを検索させるように強制しました...何もありません。didUpdateToLocationが呼び出されなかった

CLLocationManager *manager = [[CLLocationManager alloc] init]; 

if (![CLLocationManager locationServicesEnabled])  
{ 
    UIAlertView *servicesDisabledAlert = [[UIAlertView alloc] initWithTitle:@"Location Services Disabled" message:@"You currently have all location services for this device disabled. If you proceed, you will be asked to confirm whether location services should be reenabled." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [servicesDisabledAlert show]; 

} else { 
    manager.desiredAccuracy = kCLLocationAccuracyBest; 

    manager.delegate = self; 

    [manager startUpdatingLocation]; 


} 

をし、位置更新方法で私はこれがあります:私のviewDidLoad()で、私はそうとCLLocationManagerを開始している

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 
{ 

NSLog(@"NEW LOCATION! Accuracy:[%f]",newLocation.horizontalAccuracy); 

} 

誰もこれが呼び出されていない理由を任意のアイデアを持っています?

答えて

2

ヘッダーファイルにロケーションデリゲートを追加しましたか?

+0

どのように私はそれを逃したのですか?ありがとう。 –

+0

私は助けることができてうれしいです... – AAV

1

私はこれが問題になる場合知っているが、

manager.desiredAccuracy = kCLLocationAccuracyKilometer;  

または

manager.desiredAccuracy = kCLLocationAccuracyTenMeters; 

代わりの

manager.desiredAccuracy = kCLLocationAccuracyBest; 

、それが任意の変更を行うかどうかを確認をしないでください。

私のiPhone上で自分の位置依存のアプリケーションをテストするとき、ほとんどの場合、desiredAccuracyを最もタイムアウトに設定します。特に屋内にいるとき。

関連する問題