2016-03-23 17 views
0

Konum almam gereken konum uygulamasında çalışıyorum. Ne zaman ben ViewController & konumu üzerinde kapalı konum, bu iyi bir konuma geçiş gösteren uyarı verir.Ama sorunu bir kez iptal etmek istiyorum [locationManager startUpdatingLocation]; bir sonraki sefer çağrıyı açmak için bana uyarı göstermeyecektir.BaşlarkenKurulumDeğiştirme uyarısını her zaman gösterme

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

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

      [locationManager requestAlwaysAuthorization]; 
     } 

     [locationManager startUpdatingLocation]; 

    } 

Not - Ben için plist değişiklikler yapmış NSLocationAlwaysUsageDescription

cevap

1

Ne yazık ki bu tasarım gereğidir mevcut konuma kullanmak istiyorum XYZ uygulamasına ayarlayın. Bu yüzden bir uygulama geliştiricisi, kullanıcıyı sonsuz isteklerle taciz edemez.

Yapmanız gereken şey, [CLLocationManager authorizationStatus] numaralı telefonu kontrol etmektir ve eğer kCLAuthorizationStatusDenied ise kullanıcının ayarlar uygulamasına gitmesi ve uygulamanızın konumlarını etkinleştirmesi gerektiğini belirten bir mesaj görüntüler.

Diğer yetkili eyaletleri de kullanmalısınız. CLLocationManager Documentation - CLAuthorizationStatus

+0

etkilendim .. !! –

1

Listedeki listeye bakın. yani

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

o davids noktaya katacak You Minkle ederiz .... çok u teşekkür ederim. Yardım için +1. –