2011-12-30 14 views
10

Zastanawiam się, czy mogę przetestować usługę lokalizacji Significant-Change (startMonitoringSignificantLocationChanges) w Xcode Simulator lub po prostu działa tylko w rzeczywistym urządzeniu. Zauważcie, już wypróbowałem to w Symulatorze i to nie działało, ale nie jestem pewien, czy to tylko dlatego, że nie działa na symulatorze lub ponieważ zrobiłem coś źle.Czy mogę przetestować Significant-Change za pomocą symulatora Xcode?

Dzięki

Odpowiedz

11

mam odpowiedzieć na to pytanie, zanim na SO, a przy użyciu symulatora nie jest dokładnym sposobem testowania -startMonitoringSignificantLocationChanges.

Metoda ta polega głównie na triangulacji wieża komórkowa i hand-off. Od czasu do czasu można uzyskać wstępną poprawkę z symulatora, ale to wszystko. Po tym nie zaktualizuje żadnej innej lokalizacji. Będziesz musiał przetestować na urządzeniu, czy program odpowiada poprawnie na tę metodę.

Jedną z alternatyw jest przetestowanie dowolnej logiki, którą można wykonać wewnątrz swoich wywołań zwrotnych dla -didUpdateToLocation i użycie -startUpdatingLocation zamiast. Chociaż stanowi to poważną wadę dla żywotności baterii, pozwoli to uzyskać dokładne aktualizacje lokalizacji do testowania. Kiedy masz już wszystkie swoje skręty w symulatorze, przenieś wszystko na grunt znaczących metod zmiany lokalizacji i przetestuj na urządzeniu.

Mam nadzieję, że to pomoże.

+0

Jestem w stanie poprawnie przetestować znaczącą zmianę lokalizacji na symulatorze za pomocą opcji "Free driveway", ale nie mogę przeprowadzić testu na urządzeniu. Jakieś pomysły, jak można to przetestować? – hariszaman

11

Zobacz XCode/iOS simulator: Trigger significant location change manually. MOŻNA symulować znaczące zmiany lokalizacji, ale pobranie aktualizacji może zająć około 5 minut, jeśli korzystasz z trybu debugowania lokalizacji "napęd dysku twardego" symulatora.

+0

Prawidłowa odpowiedź. Dzięki – user1244109

+1

Dla mnie, używając Xcode 7.2.1 z 'startMonitoringSignificantLocationChanges' przy użyciu trybu Freeway Drive na symulatorze, zadziałało świetnie,' wyzwalające didUpdateLocations: 'nie zajęło mi nawet 5 minut, zaczęło działać od razu. Dziękuję, Ryan H. – naomimichiko

Powiązane problemy