Location Manager Error : Operation could not be completed(KCLErrorDomain error 0)
Dlaczego występuje ten błąd?
iphone
geolocation
MQLN
źródło
źródło
Odpowiedzi:
Ten błąd występuje, jeśli zaznaczyłeś,
Scheme/Edit Scheme/Options/Allow Location Simulation
ale nie masz ustawionej domyślnej lokalizacji. Jestem pewien, że są też inne przyczyny.źródło
AKTUALIZACJA
DZIĘKI Ben Martenowi Możesz uczynić go trwałym, wykonując następujące kroki w XCode:
Poza tym, nawet jeśli nie masz połączenia z Wi-Fi, możesz ustawić lokalizację w symulatorze za pomocą górnych pozycji menu
Debug>Location
i aby stała się stała, wykonaj powyższe krokiźródło
Właśnie miałem ten problem. Trochę zajęło mi znalezienie rozwiązania, które jest tylko luźno związane z odpowiedzią poprzedniego autora.
Lotnisko (Wi-Fi) musi być włączone, aby CoreLocation w symulatorze iPhone'a / iPada działał. Byłem podłączony przez Ethernet, więc CL nic nie zrobił w symulatorze. Włącz Lotnisko w ustawieniach sieci i spróbuj ponownie. Możesz zmienić kolejność interfejsów sieciowych, przeciągając Airport pod Ethernet, jeśli chcesz nadal faworyzować połączenie przewodowe nad bezprzewodowym ...
źródło
Z dokumentacji API:
Oznacza to, że nie można określić lokalizacji.
Wydaje mi się, że najbardziej prawdopodobną przyczyną jest to, że menedżer lokalizacji używa Wi-Fi do triangulacji lokalizacji, a baza danych nie obejmuje sieci lokalnych. Najwyraźniej może to naprawić użytkownik, jeśli przejdzie tutaj .
Jednak, jak zauważyłem, od czasu do czasu widziałem to jako przejściowy błąd podczas uruchamiania programu opartego na lokalizacji w miejscu, w którym normalnie działa lokalizacja Wi-Fi.
Wreszcie, myślę, że można zobaczyć ten błąd, jeśli wystąpi jakaś awaria sprzętu.
źródło
1) sprawdź, czy faktycznie masz prawidłowe połączenie WiFi i 3G
jeśli to zrobisz
2) przejdź do ustawień i zresetuj usługi lokalizacyjne 3) zresetuj ustawienia sieciowe
źródło
Ten błąd jest generowany, gdy Menedżer lokalizacji nie może natychmiast uzyskać informacji o lokalizacji. Okazało się, że ten błąd występował podczas wywołania metody startUpdatingLocation. U mnie działo się to na iPodzie, ale nie na iPhonie. Ma to sens, ponieważ iPhone ma więcej sposobów (takich jak sieć komórkowa), aby uzyskać informacje o lokalizacji i jest w stanie uzyskać szybkie oszacowanie lokalizacji, podczas gdy iPod zajmuje więcej czasu, co spowodowało zgłoszenie tego błędu na iPodzie.
Ponieważ w przypadku zgłaszania tego błędu metoda locationManager: didFailWithError: delegate jest wywoływana, można obsłużyć ten konkretny przypadek w instrukcji warunkowej, dopasowując „[domena błędów]” i „[kod błędu]” z obiektu błędu przekazanego do tej metody.
źródło
Dokładny powód, dla którego znalazłem, to konflikt występujący w symulacji lokalizacji zarówno w „Ustawieniach debugowania”, jak iw ustawieniach xcode „Edytuj schematy”. Upewnij się, że ustawiłeś domyślną lokalizację użytkownika w dowolnym z tych ustawień i zaznacz Drugi to None rozwiązał problem, mając nadzieję, że to na pewno pomoże. InXcode:
W symulatorze iPhone'a / iPada:
źródło
Jeśli masz to w emulatorze, wykonaj następujące czynności
źródło
Możesz dodać własną listę lokalizacji do Xcode, aby przetestować swoje aplikacje.
Z poziomu Xcode wybierz menu Debuguj / Symuluj lokalizację, a otrzymasz:
Wybierz „Dodaj plik GPX do projektu ...” i wybierz utworzony plik GPX.
źródło
Przejdź do projektu Xcode> produkt> schemat> edytuj schemat> sprawdź symulację lokalizacji> ustaw lokalizację> i ponownie uruchom aplikację. Mam nadzieję, że zadziała!
źródło
Dzięki temu artykułowi ( https://possiblemobile.com/2013/04/using-xcode-to-test-location-services/ ) otrzymałem wskazówkę, aby spojrzeć na dane w moim niestandardowym pliku GPX i tam znalazłem problem.
Niektóre pliki GPX, które możesz pobrać z różnych źródeł, mogą zawierać następujące elementy wskazujące różne współrzędne w określonej ścieżce. To nie zadziała z symulacją lokalizacji Xcode.
To, co powinieneś zrobić, to znaleźć wszystkie wystąpienia elementu „trkpt” i zamienić je na „wpt” w swoim ulubionym edytorze text / xml. Końcowy wynik powinien wyglądać następująco:
Mam nadzieję że to pomoże! Z pewnością mi to pomogło.
źródło
Ten błąd występuje podczas uruchamiania programu, ale po uruchomieniu programu symulujesz lokalizację.
Dostaję metodę: wyjdź z symulatora i uruchom go ponownie, a następnie ustaw lokalizację symulatora przed uruchomieniem programu i działa dla mnie.
Mam nadzieję że to pomoże! Z pewnością mi to pomogło. dzięki...
źródło
to wszystko nie zadziałało dla mnie .. co zadziałało dla mnie to: - ustaw lokalizację z symulatora, aby
none
następnie zmienić ją z powrotem nacustom
lokalizację, gdy aplikacja jest uruchomiona.źródło
Wszystkie sugestie nie pomogły w moim przypadku. Pomogło odinstalowanie aplikacji z urządzenia symulatora, ponowne jej zainstalowanie i zezwolenie na dostęp do lokalizacji (w aplikacji ustawień).
źródło
Jeśli otrzymujesz to na urządzeniu, prawdopodobnie nie prosiłeś o lub użytkownik odmówił pozwolenia na zebranie lokalizacji.
źródło