Obtención de la altitud (altura desde el nivel del mar) de mi ubicación en el iPhone SDK

Estoy tratando de obtener la altitud de mi ubicación en mi aplicación. Pero cada vez que lo intentoaltitude propiedad deCLLocation objeto que estoy recibiendo0.00 como resultado.

Busqué en Google para mi consulta y recibí una pregunta similaraquí yaquí. Este enlace dice que si accedo a CLLocation con wifi o torre de telefonía celular, será nulo. Incluso si trato de configurardesireAccuracy Lo mejor de todo es que no se asegura de que la aplicación utilice GPS. También está diciendo que si estoy en el interior no podré acceder al GPS.

En muchos casos no es seguro que la aplicación use solo el GPS. También quiero alguna forma de obtener Altitude desde el wifi o la torre celular. Para eso busqué más en Google y me dieronAPI de Google Earth pero creo que esto es solo para la tecnología .net de Microsoft.

Ahora, de acuerdo con esta situación, creo que para una solución puedo crear un servicio web en la tecnología de Microsoft y pasar mi ubicación allí y puedo obtener la altitud como respuesta, pero no quiero hacer esto.

¿Alguien puede sugerirme cómo obtener la altitud de mi ubicación desde iOS? ¿Hay alguna forma disponible o no? Si es así, por favor navegue en la dirección correcta.

Gracias por adelantado.

Edit1

solíaCLLocationManager para actualizar la ubicación y cuando obtengo mi ubicación necesito altitud.

Edit2

De acuerdo con la respuesta de @ fishinear, intenté el siguiente 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 es siempre-1. No está cambiando, incluso después de ejecutar la aplicación a los últimos 30 minutos. Estoy corriendo ios 4.3.2 en mi 3GS. Estoy en interiores, así que creo que no está accediendo al GPS incluso con este código.

Respuestas a la pregunta(2)

Su respuesta a la pregunta