Location Manager Error : Operation could not be completed(KCLErrorDomain error 0)
Bu hata neden oluşur?
Location Manager Error : Operation could not be completed(KCLErrorDomain error 0)
Bu hata neden oluşur?
Yanıtlar:
Bu hata, Scheme/Edit Scheme/Options/Allow Location Simulation
kontrol ettiyseniz ancak varsayılan bir konum ayarınız yoksa oluşur . Eminim başka nedenleri de vardır.
GÜNCELLEME
Ben Marten'A TEŞEKKÜRLER XCode'daki şu adımları kullanarak bunu kalıcı hale getirebilirsiniz:
- Ürün> Şema> Şemayı Düzenle
- App Çalıştır'ı tıklayın
- Seçenek sekmesi
- Zaten kontrol edildi Çekirdek Konum> konumunuzu seçin
- tamam tuşuna basın
Bunun yanı sıra, wifi'ye bağlı olmasanız bile, simülatörde üst menü öğelerinden bir konum Debug>Location
belirleyebilir ve bunu kalıcı hale getirmek için yukarıdaki adımları takip edebilirsiniz.
Bu sorunu daha yeni yaşadım. Çözümü bulmam biraz zaman aldı, bu da önceki posterin cevabıyla sadece gevşek bir şekilde ilişkili.
İPhone / iPad Simülatöründe CoreLocation'ın çalışması için Havaalanı (WiFi) açık olmalıdır . Ethernet üzerinden bağlandım, bu yüzden CL Simülatörde hiçbir şey yapmadı. Ağ Ayarlarınızdan Airport'u açın ve tekrar deneyin. Kablosuz bağlantınız yerine kablolu bağlantınızı tercih etmeye devam etmek istiyorsanız, Airport'u Ethernet'in altına sürükleyerek ağ arayüzlerinizin sırasını değiştirebilirsiniz ...
API belgelerinden:
CLError
Konum yöneticisi nesnesi tarafından döndürülen hata kodları.
typedef enum {kCLErrorLocationUnknown = 0, kCLErrorDenied, kCLErrorNetwork, kCLErrorHeadingFailure} CLError;
Sabitler
kCLErrorLocationUnknown Konum yöneticisi şu anda bir konum değeri elde edemedi. iPhone OS 2.0 ve sonraki sürümlerde mevcuttur. CLError.h'de bildirilmiştir.
kCLErrorDenied Konum servisine erişim kullanıcı tarafından reddedildi. İPhone OS 2.0 ve sonraki sürümlerde mevcuttur. CLError.h'de bildirilmiştir.
kCLErrorNetwork Ağ kullanılamıyordu veya bir ağ hatası oluştu. İPhone OS 3.0b ve sonraki sürümlerde mevcuttur. CLError.h'de bildirilmiştir.
kCLErrorHeadingFailure Başlık belirlenemedi. İPhone OS 3.0 ve sonrasında mevcuttur. CLError.h'de bildirilmiştir.
Yani bu, konumun belirlenemediği anlamına gelir.
Sanırım en olası neden, konum yöneticisinin konumu üçgenlemek için WiFi kullanıyor olması ve veritabanının yerel ağları kapsamamasıdır. Görünüşe göre bu, buraya giderse kullanıcı tarafından düzeltilebilir .
Ancak belirttiğim gibi, WiFi konum öğelerinin normalde çalıştığı bir konumda konum tabanlı bir program çalıştırırken bunu ara sıra geçici bir hata olarak da gördüm.
Son olarak, bir tür donanım arızası varsa bu hatayı görmek mümkün.
1) Gerçekte geçerli bir WiFi ve 3G bağlantınız olup olmadığını kontrol edin
eğer yaparsan
2) ayarlara gidin ve konum hizmetlerinizi sıfırlayın 3) ağ ayarlarınızı sıfırlayın
Bu hata, Konum Yöneticisi konum bilgilerini hemen alamadığında atılır. StartUpdatingLocation yöntemi çağrıldığında bu hatanın meydana geldiğini buldum. Benim için bu iPod'da oluyordu ama iPhone'da olmadı. Bu mantıklıdır, çünkü iPhone'un konum bilgisi almak için daha fazla yolu (hücresel ağ gibi) vardır ve konum hakkında hızlı bir tahminde bulunabilir, oysa iPod daha fazla zaman alır ve bu da iPod'da bu hatanın ortaya çıkmasına neden olur.
Bu hata atıldığında locationManager: didFailWithError: delegate yöntemi çağrıldığından, bu yönteme iletilen hata nesnesindeki "[hata etki alanı]" ve "[hata kodu]" ile eşleştirilerek bu belirli durumu koşullu bir ifadede ele alınabilir.
Bulduğum şeyin tam nedeni, hem ios simülatörü "Hata ayıklama ayarları" hem de xcode ayarları "Düzenleri düzenle" konum simülasyonunda bir çakışma olması. Bunlardan herhangi birinde varsayılan kullanıcı konumunu ayarladığınızdan emin olun ve işaretleyin diğer Yok problemi kesin bu olabilir yardım umut çözdü. InXcode:
İphone / ipad simülatöründe:
Uygulamalarınızı test etmek için Xcode'a kendi konum listenizi ekleyebilirsiniz.
Xcode içinden Hata Ayıkla / Konum Simülasyonu menüsünü seçin ve size şunlar sunulacak:
a. "Don't Simulate Location"
b. 12 example locations
c. "Add GPX File to Project..."
"GPX Dosyasını Projeye Ekle ..." öğesini seçin ve oluşturduğunuz GPX dosyasını seçin.
Bu makale sayesinde ( https://possiblemobile.com/2013/04/using-xcode-to-test-location-services/ ) Özel GPX dosyamdaki verilere bakmak için bir ipucu aldım ve orada sorunu buldum.
Farklı kaynaklardan alabileceğiniz bazı GPX dosyaları, belirtilen yoldaki farklı koordinatları gösteren aşağıdaki öğelere sahip olabilir. Bu, Xcode'un Konum Simülasyonu ile çalışmaz.
<gpx>
...
<trkpt lat="" lon="">
<ele></ele>
</trkpt>
...
</gpx>
Yapmanız gereken, "trkpt" öğesinin tüm oluşumlarını bulmak ve en sevdiğiniz metin / xml düzenleyicide "wpt" ile değiştirmektir. Sonuç aşağıdaki gibi olmalıdır:
<gpx>
<wpt lat="" lon="">
<ele></ele>
</wpt>
...
</gpx>
Bu yardımcı olur umarım! Bana kesinlikle yardımcı oldu.
Bu hata, programınızı çalıştırdığınızda ortaya çıkar, ancak programı çalıştırdıktan sonra konumu simüle edersiniz.
Bir yöntem buluyorum: simülatörünüzden çıkın ve yeniden başlatın, ardından programı çalıştırmadan önce simülatör konumunuzu ayarlayın ve benim için çalışıyor.
Bu yardımcı olur umarım! Bana kesinlikle yardımcı oldu. Teşekkürler...
bunların hepsi benim için işe yaramadı .. benim için işe yarayan şey şudur: - simülatörden konumu, uygulama çalışırken none
tekrar custom
konuma değiştirecek şekilde ayarlayın .
Bunu cihaza alıyorsanız, muhtemelen istemediniz veya kullanıcı konumu toplama iznini reddetti.