12

a partir de 1 semana si mi aplicación gps no puede recuperar la señal (por ej .: pruebas en mi casa) no recibo ningún aler. he fijado mi notificación de error de esta maneralocationManager didFailWithError

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {  NSString *errorType = (error.code == kCLErrorDenied) ? 
@"Access Denied" : @"Errore sconosciuto"; 
UIAlertView *alert = [[UIAlertView alloc] 
         initWithTitle:@"Errore recuperando la Location" 
         message:errorType 
         delegate:nil 
         cancelButtonTitle:@"Okay" 
         otherButtonTitles:nil]; 
[alert show]; 
[alert release]; 
} 

para lo aplicación razón no recuperar los datos y no me mostrar la ventana emergente de alerta?

Respuesta

37

, ya que sólo está comprobando el caso del interruptor Una condición es necesario implementar como

- (void)locationManager: (CLLocationManager *)manager 
      didFailWithError: (NSError *)error 
    { 
     [manager stopUpdatingLocation]; 
     NSLog(@"error%@",error); 
     switch([error code]) 
     { 
      case kCLErrorNetwork: // general, network-related error 
      { 
       UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"please check your network connection or that you are not in airplane mode" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; 
       [alert show]; 
       [alert release]; 
      } 
        break; 
      case kCLErrorDenied:{ 
       UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"user has denied to use current Location " delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; 
       [alert show]; 
       [alert release]; 
      } 
        break; 
      default: 
      { 
       UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"unknown network error" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; 
       [alert show]; 
       [alert release]; 
      } 
        break; 
      } 
     } 

    } 

Todavía hay 2 casos más kCLErrorHeadingFailure y kCLErrorLocationUnknown pero en general no será necesario ...

+0

Mmmmm, entiendo tu código, intenta pero aún no recibes el mensaje emergente: veré en mi pantalla el valor en caché de latitud y longitud y no veo la alerta. UNA COSA, he agregado una ista de mkreversegeocoder y ahora no podrá recuperar mi ciudad (porque ahora no tengo congenicidad en mi teléfono). ¿Se puede usar esta información? – zebra

+1

ps en mi consola solo recupero este registro: 2010-04-16 15: 44: 56.509 alto [797: 207] Error Domain = NSURLErrorDomain Code = -1009 UserInfo = 0x178410 "sin conexión a Internet" – zebra

+0

su consola sugiere que estás teniendo problemas con tu internet puedes probar en diferentes dispositivos o en simulador o en otra red wifi ... mira si alguno de estos funciona ... eso significa que tu aplicación está bien .... –

Cuestiones relacionadas