2009-10-20 25 views
6

Estoy tratando de implementar pruebas de aplicación como se describe here. Hasta ahora, todo bien, pero no pruebo, por ejemplo, la ubicación del dispositivo que usa Core Location. He agregado el Framework apropiado al Target, y he iniciado la actualización de la ubicación, pero no tengo idea de cómo esperar a que se cargue la ubicación, el banco de pruebas termina antes de que termine el segundo. Por favor, ayúdame a encontrar una manera de probar este tipo de cosas.iPhone: Prueba de aplicación y ubicación principal

+1

Buena suerte con esto. No pude hacer que eso funcione ... :-) –

+1

Esto también es lo que estoy buscando con mi unidad de prueba. Parece que las pruebas de aplicación se inician antes de que se llame a applicationDidFinishLaunching. –

+0

Estoy tratando de hacer algo similar, y con la esperanza de burlarme de la ubicación. –

Respuesta

1

Si usted está confiando en CLLocationManager se pueden implementar estos dos métodos de delegado en CLLocationManagerDelegate:

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

- (void)locationManager:(CLLocationManager *)manager 
     didFailWithError:(NSError *)error 

a continuación, establece el delegado CLLocationmanager y decirle que startUpdatingLocation. Si obtiene didUpdateLocation (con oldLocation establecido en cero) significa que ahora tiene una ubicación y puede considerar que la prueba fue un éxito (asegúrese de desactivar la actualización). Si obtiene el otro, hubo un error de administrador de ubicación.

Si usted está confiando en MapKit y están utilizando MKMapView 's mecanismo de actualización de usuario en la localización, a continuación, echar un vistazo a mi respuesta a this question y poner en práctica la sección de observador (observeValueForKeyPath) para ser notificado cuando el mapa tiene una ubicación (éxito) o implemente el mapViewDidFailLoadingMap de MKMapViewDelegate para que se le notifique si hubo un error.

+0

Ramin, lo siento, parece que no fui capaz de explicarme. Mi problema no es cómo obtener la ubicación en la aplicación real, sino cómo probar la aplicación. Permítanme intentarlo de nuevo: Digamos, por ejemplo, que desencadené el startUpdatingLocation en applicationDidFinishLaunching: y configuro la aplicación Delegate como el delegado del CLLocationManager. La pregunta es cómo configurar el conjunto de pruebas para que pueda probar si el delegado de CLLocationManager recibe locationManager: didUpdateLocation: fromLocation: hasta donde pude llegar, la prueba simplemente termina antes de que se activen las llamadas de delegado. Anythow, gracias – ariel

+2

¿por qué se ha aceptado esto? –

Cuestiones relacionadas