CLLocationManager.requestLocation()
trwa około 10 sekund, aby wystrzelić zdarzenie didUpdateLocations
.CLLocationManager.requestLocation() trwa około 10 sekund
Oto atrybuty ustawione dla CLLocationManager
let locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.distanceFilter = 10
locationManager.requestWhenInUseAuthorization()
locationManager.requestLocation()
Jak na documentation może to potrwać kilka sekund.
Ta metoda zwraca natychmiast. Wywołanie go powoduje, że menedżer lokacji otrzymuje poprawkę lokalizacji (która może zająć kilka sekund) i wywołuje metodę locationManager (_: didUpdateLocations :) delegata z wynikiem.
Ale czy to może zająć 10 długich sekund? Czy może czegoś brakuje?
góry dzięki
(co może potrwać kilka sekund). Upewnij się, że aktualizujesz interfejs z głównej kolejki. –
Trzeba czasu, aby uzyskać dokładną lokalizację, jeśli GPS nie jest już uruchomiony. Jeśli nie można znaleźć lokalizacji, może upłynąć więcej niż 10 sekund, zanim zrezygnujesz. – Paulw11
Dzięki za wszystkie komentarze. @SausageMachine Nie narzekam, zastanawiam się, w jaki sposób aplikacje takie jak Mapy Google uzyskują lokalizację około 3 sekund przy użyciu tego samego poziomu dostępu do lokalizacji "Podczas używania". @Wszystko geniusz w dół wyborców, pytam o to, ponieważ nie widziałem aplikacji, która zajmuje tak dużo czasu, aby uzyskać lokalizację. Proszę, oświeć mnie. –