2016-03-23 17 views
0

Ich arbeite an der Standort-App, wo ich den Standort bekommen muss. Wenn ich auf den bestimmten ViewController & Standort bin off gibt es eine Warnung zeigt, dass auf den Standort, die in Ordnung ist. Aber das Problem ist, sobald ich sage Abbrechen & das nächste Mal Anruf [locationManager startUpdatingLocation]; es wird mir nicht zeigen, um Standort zu aktivieren.Nicht jedes Mal anzeigen, wenn startUpdatlocation

- (void)getCurrentLocation { 
     locationManager = [[CLLocationManager alloc] init]; 
     locationManager.delegate = self; 
     locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
     locationManager.distanceFilter = kCLDistanceFilterNone; 

     if ([locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) { 

      [locationManager requestAlwaysAuthorization]; 
     } 

     [locationManager startUpdatingLocation]; 

    } 

Hinweis - ich habe in plist getan Änderungen NSLocationAlwaysUsageDescription auf den XYZ-App Ihren aktuellen Standort

Antwort

1

Leider dies durch Design verwenden möchte ist. So kann ein App-Entwickler den Benutzer nicht mit endlosen Anfragen belästigen.

Was Sie tun müssen, ist die [CLLocationManager authorizationStatus] überprüfen und wenn kCLAuthorizationStatusDenied dann eine Meldung anzeigen, die der Benutzer in ihre Einstellungen App gehen und Standorte für Ihre App aktivieren müssen.

Sie sollten auch mit den anderen autorisierten Zuständen umgehen. Siehe die Liste in der CLLocationManager Documentation - CLAuthorizationStatus

+0

beeindruckt .. !! thank u so much .... –

1

Überprüfen Sie den Status vor StartUpdatingLocation. das heißt

  if([CLLocationManager locationServicesEnabled]) 
      { 
       if([CLLocationManager authorizationStatus]==kCLAuthorizationStatusDenied){ 
        NSLog(@"Add your alert here"); 
       } 
       else 
       { 
        [locationManager startUpdatingLocation]; 
       } 
      } 
      else 
      { 
       NSLog(@"Add your alert here"); 
      } 
+0

Sie Minkle Vielen wird es DAVIDS Punkt hinzuzufügen. +1 für die Hilfe. –

Verwandte Themen