2014-01-21 25 views
0

如何在用戶拒絕時打開我的應用程序時啓用CLLocationManager警報。任何人都可以告訴如何?IOS:如何在用戶拒絕時獲取CLLocationManager警報

 locationManager = [CLLocationManager new]; 
     locationManager.delegate = self; 
     locationManager.distanceFilter = kCLDistanceFilterNone; 
     locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
     [locationManager startUpdatingLocation]; 

我需要再次打開我的應用程序後顯示此警報。

enter image description here

+8

它只顯示一次,你可以做它顯示一個新的alertview告訴用戶去設置應用程序,並給予您的應用程序的權限的唯一一件事 – jcesarmobile

+0

@jcesar讓你的答案 – AnthonyBlake

回答

2

位置權限警報只顯示一次。如果用戶拒絕了您的應用的權限,那麼他們必須在設置>隱私>位置服務中啓用位置服務。有關更多信息,請參閱Apple的Understanding Location Services

在您的代碼中,您應該檢查+[CLLocationManager authorizationStatus]documentation)的值 - 如果狀態爲kCLAuthorizationStatusDenied,則可以提示用戶在「設置」中重新啓用位置服務。

0

如果用戶拒絕此對話框,您CLLocationManagerDelegate-locationManager:didFailWithError:回調將得到一個NSError有:

  • 域:kCLErrorDomain
  • 代碼:kCLErrorDenied

您可以妥善處理的錯誤。

相關問題