2016-03-23 2 views
0

私は場所を取得する必要がある位置情報アプリケーションで作業しています。私が特定のViewControllerに来るとき&場所がオフになっています。その場所にスイッチがあることを示す警告が表示されます。問題が一度キャンセルされたら、&次回に[locationManager startUpdatingLocation];に電話してください。startUpdatelocationを毎回表示しない

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

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

      [locationManager requestAlwaysAuthorization]; 
     } 

     [locationManager startUpdatingLocation]; 

    } 

注 - 私は NSLocationAlwaysUsageDescriptionへのplistの変更を行っているあなたの現在の場所

答えて

1

は、悲しいことに、これは仕様です 使用したいXYZアプリに設定します。そのため、アプリ開発者は無限の要求でユーザーを嫌うことはありません。

[CLLocationManager authorizationStatus]を確認し、そのkCLAuthorizationStatusDeniedに設定のアプリに入り、アプリの場所を有効にする必要があることを示すメッセージが表示されているかどうかを確認する必要があります。

他の許可された状態も処理する必要があります。 CLLocationManager Documentation - CLAuthorizationStatus

+0

感動..! –

1

開始前にステータスを確認する場所を更新してください。すなわち

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

あなたはそれがダービッツポイントに追加されますMinkleありがとう....そんなにUに感謝します。 +1のために。 –

関連する問題