12

da 1 settimana se il mio gps app non riescono a recuperare il segnale (ad esempio: test in casa mia) non ricevo alcun Aler. Ho installato il mio notifica di errore in questo modolocationManager 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]; 
} 

per quale app motivo non recuperare i dati e non mi mostrano finestra di avviso?

risposta

37

perché si sta controllando unico caso interruttore Una condizione è necessario implementare come

- (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; 
      } 
     } 

    } 

Ci sono ancora altri 2 casi kCLErrorHeadingFailure e kCLErrorLocationUnknown ma in generale non sarà necessario ...

+0

mhmmmm ok, ho capire il tuo codice, provare, ma ancora non riceve un messaggio pop-up: Io osservo sul mio schermo di latitudine e longitudine e valore memorizzato nella cache non vedo l'avviso. UNA COSA, ho aggiungere un istance mkreversegeocoder e ora mancherò di recuperare la mia città (perché non ho connettivity sul mio telefono ora). Puoi usare queste informazioni? – zebra

+1

ps nella mia console recupero solo questo registro: 2010-04-16 15: 44: 56.509 alto [797: 207] Dominio errore = NSURLErrorDomain Code = -1009 UserInfo = 0x178410 "nessuna connessione Internet" – zebra

+0

la tua console suggerisce che hai problemi con il tuo internet si può provare su altro dispositivo o sul simulatore o su un'altra rete wifi ... vedere se uno qualsiasi di questi lavori ... questo significa che l'applicazione è bene .... –