Pytanie Wykrywanie, czy usługi lokalizacyjne są włączone dla mojej aplikacji


Pracuję nad moją pierwszą aplikacją na iOS, która wykorzystuje lokalizację użytkownika.

Wiem, że urządzenie pyta użytkownika, czy włączyć usługi lokalizacyjne dla aplikacji, ale skąd mam wiedzieć, czy użytkownik je włączył, czy nie?


13
2017-08-28 12:35


pochodzenie




Odpowiedzi:


Prawdopodobnie

[CLLocationManager authorizationStatus] != kCLAuthorizationStatusDenied

powinna być odpowiedzią zwiazane pytania SO to:
Sprawdzanie usług lokalizacyjnych iOS
locationServicesEnabled test przechodzi, gdy są wyłączone w viewDidLoad

i tak, zgodnie z sugestią @albertamg, jeśli zaimplementujesz CLLocationManagerDelegate protocol

otrzymasz powiadomienie, jeśli użytkownik odmówi dostępu do usług lokalizacyjnych, gdy będziesz o to prosił
widzieć locationManager:didChangeAuthorizationStatus: i locationManager:didFailWithError: metody


44
2017-08-28 12:39



Tak. Używałem wycofanej metody. To jest poprawne. - Abizern
Ponadto, jeśli użytkownik odmawia dostępu do danych usługi lokalizacyjnej do aplikacji, to CLLocationManager obiekt raportuje a kCLErrorDenied błąd do jego delegata podczas kolejnych wniosków. - albertamg