Location Manager Error : Operation could not be completed(KCLErrorDomain error 0)
Mengapa kesalahan ini terjadi?
Location Manager Error : Operation could not be completed(KCLErrorDomain error 0)
Mengapa kesalahan ini terjadi?
Jawaban:
Kesalahan ini terjadi jika Anda telah Scheme/Edit Scheme/Options/Allow Location Simulation
memeriksa tetapi tidak menetapkan lokasi default. Saya yakin ada penyebab lain juga.
MEMPERBARUI
TERIMA KASIH KEPADA Ben Marten Anda dapat membuatnya permanen menggunakan langkah-langkah ini di XCode:
- Produk> Skema> Edit Skema
- Klik Jalankan .app
- Tab Opsi
- Sudah mencentang Lokasi Inti> pilih lokasi Anda
- tekan OK
Selain itu, meskipun Anda tidak terhubung ke wifi, Anda dapat mengatur lokasi di simulator melalui item menu teratas Debug>Location
dan menjadikannya permanen ikuti langkah-langkah di atas.
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 ...
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.
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
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.
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:
Di simulator iphone / ipad:
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.
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.
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...
semua ini tidak berhasil untuk saya .. yang berhasil untuk saya adalah: - setel lokasi dari simulator untuk none
kemudian ubah kembali ke custom
lokasi saat aplikasi berjalan.
Jika Anda mendapatkan ini di perangkat, kemungkinan Anda tidak meminta atau pengguna menolak izin untuk mengumpulkan lokasi.