Kesalahan Manajer Lokasi: (Kesalahan KCLErrorDomain 0)

95
Location Manager Error : Operation could not be completed(KCLErrorDomain error 0)

Mengapa kesalahan ini terjadi?

MQLN
sumber
pertanyaan bagus - Saya kadang-kadang melihat kesalahan yang sama. Saya percaya ini terjadi ketika pengelola lokasi gagal mendapatkan lokasi saat ini - misalnya karena perbaikan yang cukup baik tidak tersedia. Tapi, saya sudah melihatnya di kali setelah telah mendapat perbaikan yang bagus, kemudian pada kesalahan ini muncul.
frankodwyer
1
Bagi saya, saya telah menggunakan koma alih-alih titik untuk pemisah desimal lokasi khusus.
electronix384128
Saya mengalami masalah yang sama, atur akurasi ke kCLLocationAccuracyBest atau beberapa nilai besar, abaikan kesalahan dan tunggu pembaruan lebih lanjut.
zaheer

Jawaban:

163

Kesalahan ini terjadi jika Anda telah Scheme/Edit Scheme/Options/Allow Location Simulationmemeriksa tetapi tidak menetapkan lokasi default. Saya yakin ada penyebab lain juga.

Tidak ada gangguan
sumber
1
Terima kasih, tetapi pertanyaan saya adalah jika kita menetapkan lokasi default apakah itu mempengaruhi pembaruan lokasi perangkat?
sKhan
@ShafKhan Jangan menjawab pertanyaan di komentar. Ajukan sebagai pertanyaan baru.
Terganggu
9
Jika Anda bertanya-tanya di mana SCHEME, ikuti tautan ini developer.apple.com/library/mac/recipes/…
Bishal Ghimire
Saya masih harus "Setel Ulang Konten dan Pengaturan" agar delegasi memanggil didUpdate, bukan didFail setelah menetapkan lokasi default di editor skema. Kemudian itu bekerja dengan baik.
owenfi
Ini benar-benar menyelesaikan masalah saya! Terima kasih banyak.
Ifelere Bolaji
42

MEMPERBARUI

TERIMA KASIH KEPADA Ben Marten Anda dapat membuatnya permanen menggunakan langkah-langkah ini di XCode:

  1. Produk> Skema> Edit Skema
  2. Klik Jalankan .app
  3. Tab Opsi
  4. Sudah mencentang Lokasi Inti> pilih lokasi Anda
  5. tekan OK

Selain itu, meskipun Anda tidak terhubung ke wifi, Anda dapat mengatur lokasi di simulator melalui item menu teratas Debug>Locationdan menjadikannya permanen ikuti langkah-langkah di atas.

kesalahan lokasi di simulator ios

Vaibhav Saran
sumber
1
Untuk membuatnya permanen, di Xcode: Product / Scheme / Edit Scheme ... / Run / Options / Core Location - Centang "Izinkan Simulasi Lokasi" & Setel "Lokasi Default" ke "Tidak Ada"
electronix384128
1
Yessss, Berhasil. Terima kasih banyak 😃👍😄😃👌👏💃🙏💃💃. Mengedit pertanyaan saya untuk pengetahuan lebih lanjut :)
Vaibhav Saran
33

Saya baru saja mengalami masalah ini. Butuh beberapa saat untuk menemukan solusinya, yang hanya terkait secara longgar dengan jawaban poster sebelumnya.

Bandara (WiFi) harus aktif agar CoreLocation di Simulator iPhone / iPad berfungsi. Saya terhubung melalui Ethernet sehingga CL tidak melakukan apa pun di Simulator. Nyalakan Bandara di Pengaturan Jaringan Anda dan coba lagi. Anda dapat mengubah urutan antarmuka jaringan Anda dengan menyeret Bandara di bawah Ethernet jika Anda ingin terus mengutamakan koneksi kabel Anda melalui ...

Meltemi
sumber
2
Saya mengalami kesalahan ini, dan komputer saya terhubung ke internet melalui WiFi. Selain itu, jika saya tidak salah, Simulator tidak menyelesaikan lokasi, selalu menggunakan lokasi Apple Office. Saat menggunakan kerangka kerja MapKit, titik biru muncul, jadi lokasinya disetel. Ini tidak masuk akal.
Alex Angelico
1
Saya baru saja menyalakannya, ini bukan yang pertama dalam daftar jaringan saya, dan semuanya mulai berfungsi (Lion, XC 4.2)
David H
1
Saya memiliki masalah yang sama, tetapi tidak pada simulator, pada perangkat! (iPhone 5S, iOS 8.1.3). Saya sedang men-debug aplikasi dengan MapKit & CoreLocation, dan kedua kerangka kerja selalu mengembalikan kesalahan yang sama. Sampai saya menyalakan Wifi! Terima kasih :)
Vinzzz
13

Dari dokumen API:

CLError

Kode kesalahan dikembalikan oleh objek pengelola lokasi.

typedef enum {kCLErrorLocationUnknown = 0, kCLErrorDenied, kCLErrorNetwork, kCLErrorHeadingFailure} CLError;

Konstanta

kCLErrorLocationUnknown Manajer lokasi saat ini tidak dapat memperoleh nilai lokasi. Tersedia di iPhone OS 2.0 dan yang lebih baru. Dinyatakan di CLError.h.

kCLErrorDenied Akses ke layanan lokasi ditolak oleh pengguna. Tersedia di iPhone OS 2.0 dan yang lebih baru. Dinyatakan di CLError.h.

kCLErrorNetwork Jaringan tidak tersedia atau terjadi kesalahan jaringan. Tersedia di iPhone OS 3.0b dan lebih baru. Dinyatakan di CLError.h.

kCLErrorHeadingFailure Judul tidak dapat ditentukan. Tersedia di iPhone OS 3.0 dan yang lebih baru. Dinyatakan di CLError.h.

Jadi ini berarti lokasinya tidak dapat ditentukan.

Saya kira penyebab yang paling mungkin adalah pengelola lokasi menggunakan WiFi untuk melakukan pelacakan lokasi, dan database tidak mencakup jaringan lokal. Itu ternyata bisa diperbaiki oleh pengguna jika mereka pergi ke sini .

Namun seperti yang saya catat, saya juga melihat ini kadang-kadang sebagai kesalahan sementara ketika menjalankan program berbasis lokasi di lokasi di mana hal-hal lokasi WiFi biasanya berfungsi.

Terakhir saya kira adalah mungkin untuk melihat kesalahan ini jika ada beberapa jenis kegagalan perangkat keras.

frankodwyer
sumber
4
Dia bertanya tentang: KCLErrorDomain
electronix384128
Tidak ada referensi ke kCLErrorDomain dalam respon ini yang dicari oleh OP.
Norman H
5

1) periksa apakah Anda benar-benar memiliki koneksi WiFi dan 3G yang valid

jika Anda melakukannya

2) masuk ke pengaturan dan setel ulang layanan lokasi Anda 3) setel ulang pengaturan jaringan Anda

MeM
sumber
Saya masih tidak mengerti mengapa saya tidak bisa mendapatkan lokasi tanpa wifi atau 3g di iPad saat pengujian, mengapa GPS tidak digunakan? Jadi pengguna di perangkat tidak bisa mendapatkan lokasi tanpa internet? Saya juga bekerja pada aplikasi mode offline ...
Renetik
Setahu saya GPS tidak memerlukan koneksi internet atau wifi, hanya receiver jika berada di lokasi yang dapat diakses dengan 2 atau 3 satelit GPS kita bisa mendapatkan koordinat geo location. Kita perlu khawatir tentang koneksi internet hanya jika GeoInformation diperlukan untuk aktivitas online apa pun seperti google maps yang bergantung pada internet untuk menunjukkan lokasi peta yang tidak di-cache secara lokal. Aplikasi Navigasi Khusus seperti CoPilot menjaga peta tetap onboard.
Durai Amuthan.H
3

Kesalahan ini terjadi saat Pengelola Lokasi tidak bisa mendapatkan informasi lokasi dengan segera. Saya menemukan bahwa kesalahan ini terjadi ketika metode startUpdatingLocation dipanggil. Bagi saya, ini terjadi di iPod tetapi tidak di iPhone. Itu masuk akal, karena, iPhone memiliki lebih banyak cara (seperti jaringan seluler) untuk mendapatkan informasi lokasi dan dapat memperkirakan lokasi dengan cepat sedangkan iPod membutuhkan lebih banyak waktu yang menyebabkan kesalahan ini muncul di iPod.

Karena, ketika kesalahan ini dilemparkan locationManager: didFailWithError: metode delegasi dipanggil, seseorang dapat menangani kasus khusus ini dalam pernyataan bersyarat dengan mencocokkan "[domain kesalahan]" dan "[kode kesalahan]" dari objek kesalahan yang diteruskan ke metode ini.

Vishal Chaudhry
sumber
3

Alasan pasti apa yang saya temukan adalah ada konflik yang terjadi dalam simulasi lokasi di simulator ios "Pengaturan Debug" dan di pengaturan xcode "Edit skema". Pastikan untuk menetapkan lokasi pengguna default Anda di salah satu dari ini dan tandai yang lain untuk Tidak ada memecahkan masalah berharap ini bisa membantu dengan pasti. InXcode:masukkan deskripsi gambar di sini

Di simulator iphone / ipad:masukkan deskripsi gambar di sini

Super Xtreem
sumber
3

Jika Anda mendapatkan ini di Emulator, lakukan berikut

Debug > Location >  Apple

instruksi emulator

Hitesh Chavda
sumber
1

Anda dapat menambahkan daftar lokasi Anda sendiri ke Xcode untuk menguji aplikasi Anda.

Dari dalam Xcode pilih menu Debug / Simulasikan Lokasi dan Anda akan ditawarkan:

a. "Don't Simulate Location"
b. 12 example locations
c. "Add GPX File to Project..."

Pilih "Tambahkan File GPX ke Proyek ..." dan pilih file GPX yang telah Anda buat.

Carl
sumber
0

Buka proyek Xcode> produk> skema> edit skema> simulasi lokasi cek> setel lokasi Anda> dan jalankan aplikasi lagi Semoga berhasil!

Janisar
sumber
0

Berkat artikel ini ( https://possiblemobile.com/2013/04/using-xcode-to-test-location-services/ ) saya mendapat petunjuk untuk melihat data pada file GPX khusus saya dan di sana menemukan masalahnya.

Beberapa file GPX yang mungkin Anda dapatkan dari sumber berbeda mungkin memiliki elemen berikut yang menunjukkan koordinat berbeda di jalur yang ditentukan. Ini tidak akan berfungsi dengan Simulasi Lokasi Xcode.

<gpx>
...
<trkpt lat="" lon="">
<ele></ele>
</trkpt>
...
</gpx>

Yang harus Anda lakukan adalah menemukan semua kemunculan elemen "trkpt" dan menggantinya dengan "wpt" di editor teks / xml favorit Anda. Hasil akhirnya harus seperti berikut:

<gpx>
<wpt lat="" lon="">
<ele></ele>
</wpt>
...
</gpx>

Semoga ini membantu! Itu pasti membantu saya.

Nino
sumber
0

Galat ini terjadi saat Anda menjalankan program, tetapi Anda mensimulasikan lokasi setelah Anda menjalankan program.

Saya mendapatkan sebuah metode: keluar dari simulator Anda dan mulai ulang, kemudian setel lokasi simulator Anda sebelum Anda menjalankan program, dan itu berhasil untuk saya.

Semoga ini membantu! Itu pasti membantu saya. Terima kasih...

Matiji66
sumber
0

semua ini tidak berhasil untuk saya .. yang berhasil untuk saya adalah: - setel lokasi dari simulator untuk nonekemudian ubah kembali ke customlokasi saat aplikasi berjalan.

DeyaEldeen
sumber
0

Semua saran tidak membantu dalam kasus saya. Apa yang membantu adalah mencopot pemasangan aplikasi dari perangkat simulator, memasangnya kembali dan mengizinkannya mengakses lokasi (di aplikasi pengaturan).

Niklas D
sumber
-1

Jika Anda mendapatkan ini di perangkat, kemungkinan Anda tidak meminta atau pengguna menolak izin untuk mengumpulkan lokasi.

DrMickeyLauer
sumber