No recibo ninguna devolución de llamada de ubicación en SIM o dispositivo. Tengo este código que se llama:¿Por qué no se llama a mi delegado de CLLocationmanager?
- (void)startLocationCallbacks: (NSObject*) ignore
{
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
locationManager.distanceFilter = MINIMUM_METERS;
[locationManager startUpdatingLocation];
NSLog(@"[DEBUG] [locationManager startUpdatingLocation] (%@, %@)", locationManager, locationManager.delegate);
}
y log declaraciones en la parte superior de ambos
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
y
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
pero ni declaración de registro cada vez se vuelve a llamar. Las notificaciones de ubicación están habilitadas para mi aplicación (como se muestra en Configuración, además, dije "permitir")
¿Cuáles son algunas de las posibles razones por las que no recibo actualizaciones de ubicación?
Config/Otros Info:
- he asignado locationManager, y lo ha guardado en una propiedad de retener.
- he llamado startUpdatingLocation
- estoy usando 4.1 SDK
- El problema es tanto Sim & iPod touch (2ª generación) & iPhone-3, todos corriendo 4.1
- Ubicación notificaciones se les permite en mi aplicación (tanto como se indica en Configuración y porque hice clic en "permitir" en la alerta.)
- He utilizado CLLocationManager con éxito antes (en muchas aplicaciones de envío!) Este es un verdadero tirador de pelo para mí.
Gracias!
NOTA: He visto varios otros preguntas SO similares, no ayudaron. Todo el "encienda su wifi", "no use sim", etc., la cosa no se aplica, aquí. No es que yo sepa, de todos modos. Espero encontrar una lista de todas las razones por las que no reciba las devoluciones de llamadas, así que puedo marcarlas. ¡Gracias! – Olie
¿Ha intentado probar si el delegado recibe una notificación? Ejecute '[locationManager.delegate locationManager: locationManager didUpdateToLocation: newLocation fromLocation: oldLocation];' Si al ejecutar esto obtiene la notificación de su delegado como se esperaba, significa que sus dispositivos no pueden obtener una ubicación. Si el delegado no recibe una notificación, puede significar un error en su código con el objeto delegado o un error en el SDK (muy, muy improbable). – vfn
Otra pista: apagué las notificaciones de ubicación en Configuraciones, tratando de que me preguntara nuevamente. Sin preguntar Además, no hay error de "usuario denegado" (didFailWithError: ...) Es realmente como si mi gestor de ubicación simplemente no estuviera generando chispas. O no reconocerme como el delegado. Cuando inspecciono locationManager.delegate, es lo correcto. Grr, murmurar, refunfuñar! – Olie