Eksperymentowałem z CLLocationManager dla aplikacji, którą buduję. Rozumiem, jak sprawdzić, czy usługi lokalizacyjne są włączone i czy użytkownik zezwolił mojej aplikacji na korzystanie z ich bieżącej lokalizacji.Powiadomienia o zmianach w usługach lokalizacyjnych?
Jeśli użytkownik umożliwia moja aplikacja do korzystania z ich lokalizacją na początku, a następnie użytkownikowi albo:
- zamienia usług lokalizacyjnych off wyraźnie
- wkłada telefon w tryb samolotowy
- wyraźnie de-autoryzuje Moje strony aplikacja do używania ich lokalizacji
Czy są jakieś powiadomienia, które mogę zasubskrybować i odpowiedzieć automatycznie, gdy ponownie otworzą moją aplikację?
Jeśli nie, czy najlepszym sposobem na obsłużenie tego scenariusza (aby zaktualizować widoki wyświetlające współrzędne GPS), aby ręcznie umieścić to zaznaczenie w metodach AppDelegate applicationDidFinishLaunching i applicationWillEnterForeground?
Powodem, dla którego myślałem, że powinien tam pójść, jest to, że po ponownym uruchomieniu aplikacji viewWillAppear nie jest uruchamiany dla pierwszego widoku i jeśli ten widok musi zmienić się z wyświetlania współrzędnych GPS na przyjazny komunikat z prośbą o ponowne włączyć usługi lokalizacyjne, AppDelegates były najlepszym hakiem, jaki mogłem wymyślić.
Dzięki!
dzięki za odpowiedź. Myślę, że zamierzam użyć 1) viewWillAppear, aby obejść początkowe uruchomienie aplikacji i za każdym razem, gdy widok zostanie załadowany na ekran nawet po jego początkowym załadowaniu, oraz 2) applicationWillEnterForeground w celu pokrycia ponownego otwarcia aplikacji z tła. W moich testach viewDidAppear jest wywoływany tylko przy pierwszym ładowaniu widoku, więc nie chciałbym go użyć, gdyby zmiana zasięgu sieci została zmieniona, gdy były jeszcze w aplikacji. – djibouti33