Como obter altitude (altura do nível do mar) da minha localização no SDK do iPhone

Estou tentando obter Altitude da minha localização no meu aplicativo. Mas toda vez que tentoaltitude propriedade deCLLocation objeto que estou recebendo0.00 como resultado.

Eu pesquisei para minha consulta e recebi uma pergunta semelhanteAqui eAqui. Este link está dizendo que se eu acessar CLLocation com wifi ou torre de celular será nulo. Mesmo se eu tentar definirdesireAccuracy melhor do que até mesmo não se certificar de que o aplicativo irá usar o GPS. Também está dizendo que, se eu estiver dentro de casa, não poderei acessar o GPS.

Eu muitos casos não é certo que o aplicativo irá usar apenas GPS. Eu também quero uma maneira de obter o Altitude a partir do Wi-Fi ou da torre de celular. Por isso eu pesquisei mais e conseguiAPI do Google Earth mas acho que isso é apenas para a tecnologia Microsoft .net.

Agora, de acordo com essa situação, eu acho que para uma solução eu posso criar um serviço web em Tecnologia Microsoft e passar minha localização lá e eu posso obter altitude como resposta, mas eu não quero fazer isso.

Alguém pode me sugerir como obter a altitude da minha localização do ios. Existe alguma maneira disponível ou não? Se sim, por favor, me navegue na direção certa.

Desde já, obrigado.

Edit1

eu useiCLLocationManager para atualizar a localização e quando eu chegar a minha localização eu preciso de altitude.

Edit2

De acordo com a resposta do @ fishinear, tentei seguir o código:

- (void)viewDidLoad
{
    [super viewDidLoad];
    manager = [[CLLocationManager alloc] init];
    [manager setDesiredAccuracy:kCLLocationAccuracyBestForNavigation];
    [manager setDistanceFilter:kCLDistanceFilterNone];
    [manager setDelegate:self];
    [manager startUpdatingLocation];
// Do any additional setup after loading the view, typically from a nib.
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
    if ([newLocation verticalAccuracy] >= 0) {
        NSLog(@"Altitude = %lf",newLocation.altitude);
    }
    NSLog(@"Vertical Accuracy : %lf",newLocation.verticalAccuracy);
}

verticalAccuracy é sempre-1. Não está mudando mesmo depois de executar o aplicativo para durar 30 minutos. Eu estou correndo ios 4.3.2 no meu 3GS. Eu sou indoor, então eu acho que não está acessando o GPS usando esse código.

questionAnswers(2)

yourAnswerToTheQuestion