didFailWithError: Hata Etki Alanı = kCLErrorDomain Kodu = 0 “İşlem tamamlanamadı. (kCLErrorDomain hatası 0.) ”


82

Geçerli konumu almak istiyorum, ancak bunun yerine bir hata alıyorum.

Bu, görünüm denetleyicimin bir parçası.

- (void)viewDidLoad {
    self.locationManager = [[CLLocationManager alloc] init];
    [locationManager setDelegate:self];
    [locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
    [locationManager startUpdatingLocation];
}

- (void)locationManager:(CLLocationManager *)manager 
     didUpdateLocations:(NSArray<CLLocation *> *)locations {
    // I would get the latest location here
    // but this method never gets called
}
- (void)locationManager:(CLLocationManager *)manager 
       didFailWithError:(NSError *)error {
    NSLog(@"didFailWithError: %@", error);
}

Temsilci yönteminin locationManager:didUpdateLocations:çağrılmasını bekliyorum , ancak bunun yerine yalnızca locationManager:didFailWithError:çağrılır ve şunu yazdırır:

didFailWithError: Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)" 

Alternatif olarak bir google api kullanabilirsiniz. Cevabıma buradan bakın stackoverflow.com/a/40670608/2033377
Deepak Thakur

goto simulator -> özellikler -> konum -> Apple. eğer bunu ayarladıysanız noneişe yaramaz ve bu hatayı atar., Bunu kaza anında yaptım
Maddocks

Yanıtlar:


106
  1. Gerçekte geçerli bir WiFi ve 3G bağlantınız olup olmadığını kontrol edin

    ... yaparsanız, o zaman:

  2. Ayarlara gidin ve konum hizmetlerinizi sıfırlayın

  3. Ağ ayarlarınızı sıfırlayın

Bu, bu sorunu çözmelidir. Cihazla / ağla ilgili, uygulama ile ilgili değil. Özellikle uygulamanız konum hizmetlerine bağlıysa ve cihaz yalnızca WiFi ise ve insanlar AppStore'da olumsuz derecelendirmeler veriyorsa can sıkıcı ... Affedersiniz, orada biraz duygusallaşıyorum.


2
Bildiğim kadarıyla GPS, internet veya wifi bağlantısına ihtiyaç duymuyor. 2 veya 3 GPS uydusu ile erişilebilir bir konumdaysa, coğrafi konum koordinatlarını alabiliriz, o zaman neden hata geliyorsa internet veya wifi bağlantısı yok mu?
Durai Amuthan. H

2
Konum hizmetlerini ve ağ ayarlarını sıfırlamak için bir olumlu oy
Durai Amuthan.

3
Bu adımlardan geçmek zorunda değilsiniz. Bu hatayı görmezden gelin ve daha fazla güncelleme bekleyin. Aşağıdaki cevabıma bakın veya developer.apple.com/library/ios/documentation/corelocation/… adresindeki dokümanları görüntüleyin :
Ray Lillywhite

3
Cihazımda (iPhone 5S, iOS 8.1.3) MapKit ve CoreLocation ile oynarken tam olarak aynı sorunu yaşadım. Konum bulamadım ve aynı hatayı tekrar tekrar aldım (iyi bir mobil ağ sinyaline rağmen). WiFi'yi Açana ve her şey düzelene kadar! Tuhaf ... Teşekkürler!
Vinzzz

2
@ DuraiAmuthan.H iPad'lerde gerçek GPS donanımı yoktur. Konumunuzu belirlemek için bir wifi MAC adresleri veritabanı kullanırlar.
whoKnows

146

Simülatörü kullanıyorsanız:

  1. command + shift + ,Şema düzenleyiciyi açmak için Xcode'a basın
  2. Çalıştırma şemasını seçin
  3. Seçenekler sekmesine gidin
  4. Kontrol et ✅ Allow Location Simulation
  5. Açılır menüden bir Varsayılan Konum seçin

NoneVarsayılan Konumunuzu seçmek soruna neden olmuş olabilir.


4
Vaov! Teşekkürler, haftalardır bunun peşindeyim. Uygulamam iPad veya iPhone'umu Londra, İngiltere konumuna zorluyordu ve nedenini anlayamadım. Bu seçeneği kapattım ve sorun ortadan kalktı.Belki de bir hıçkırık geçiriyor ve ardından kapanıyor ve konumu Şema'daki ile değiştiriyor.
Andrew Smith

7
Benim için çalıştı, ama ben de yapmak zorunda iOS Simulator>Reset Content and Settings...
bendytree

Benim için çivilenmiş.
ScottyBlades

23

Bu hatayı görmezden gelin ve daha fazla güncelleme veya farklı bir hata bekleyin.

Konum yöneticisinin belgeleri bu hatanın geçici olduğunu söylüyor. Bir konumu hemen alamadığını bilmenizi sağlar, ancak denemeye devam eder. "Böyle bir durumda, hatayı görmezden gelebilir ve yeni bir olay bekleyebilirsiniz." Bu, adlı bir yöntemi kullanmanın gerçekten kemik kafalı bir yolu locationManager:didFailWithError:- Teşekkürler Apple!

Apple Documentation


19

Simülatörü yeniden başlatmayı deneyin (kullandığınız şeyin bu olduğunu varsayarak).

Diğer her şeyi denedikten sonra bu benim için çalıştı.


Benim için de çalıştı. Teşekkürler
cozmin-calin

14

Simülatörün yeniden başlatılması benim için işe yaramadı.

Her şeyi temizlemek zorunda kaldım "iOS Simulator" >> "Reset Content and Settings....


9

Simülatörde bu hatayı alıyordum. Hata ayıklama panelindeki konum düğmesini tıklamak ve bir konum belirlemek sorunu benim için çözdü. (Düğmenin mavi olduğundan emin olun)

görüntü açıklamasını buraya girin



5

Simülatördeki "Konum" u değiştirmek benim için çalıştı.

Hata ayıklama> Konum> (Benimki, Şehir Bisikleti Gezintisi yerine Hiçbiri kontrol edildi, örn.)


5
  1. Simülatörde Ayarlar> Genel> Sıfırla> Konum ve Gizliliği Sıfırla seçeneğine gidin

  2. Simülatörden çıkın ve uygulamayı tekrar çalıştırın


3

Simülatörü kullandığınızı varsayarsak, Debug -> Locationbir konum belirleyebilir ve ayarlayabilirsiniz.

Hiçbirini seçmediyseniz bu hatayı alırsınız.


2

Eğer bir kullanıyorsanız custom locationmarkasını emin ben ters ve ben fark etmeden önce 3 saat boşa vardı, uzun ve doğru bir şekilde lat var ...


Ame burada ayrıca 2 saatimi boşa harcadım, Enlem ve Boylamı doğru konumlara ayarladım.
Arpit B Parekh

2

Problemi daha önce görmüştüm, çözmenin bir yolu var ama bu sadece bir kez çalışabilir, projeyi tekrar çalıştırmak istiyorsanız ve çözümü her seferinde tekrarlamanız gerekiyorsa.

1. Xcode'da, Ürün -> Şema -> Şemayı Düzenle, ardından "Konum Simülatörüne İzin Ver" i iptal edin.

2. iOS Simulator'a gidin ve İçerik ve Ayarı sıfırlayın.

3. Yine Xcode'a gelin, ilk adımı tekrarlayın.

4. iOS Simulator'a gidin ve sıfırlayın. O zaman işe yarayacak.


1

Bunun gibi sorunlar, konum " Apple" olarak ayarlanarak çözülebilir . En azından test amaçlı çalışıyor.


1
  1. İçeriği ve ayarları sıfırladım.
  2. Veriler türetilmiş verilerden kaldırıldı.
  3. Xcode ve Simulator'u yeniden başlattım ve benim için çalıştı.

@Mem'in cevabından ve diğerleri teşekkürler


1

İade edilen geliştiriciler için :) Debug->Location->Freeway DriveSimülatör menüsünden " " öğesini seçin. Hala sorun varsa simülatör menüsünden "Simülatör-> İçeriği ve Ayarları Sıfırla" işlemini yaptıktan sonra deneyin. Bu bana bir kez aynı konuda yardımcı oldu. Bazı zaman simülatör konumu, Custom locationhiçbir şey algılamaması nedeniyle " " olarak ayarlanmıştır .


1

Simülatörü kullanıyorsanız, planın konuma izin verdiğinden ve varsayılan bir konum seçtiğinizden emin olun.

görüntü açıklamasını buraya girin


0

Cihazda deneyin. Bazen simülatör konumunuzu alamaz.


0

Simülatörde eve git

ana sayfa -> Ayarlar -> Gizlilik -> Konumlar -> uygulamayı seçin ve her zaman seçin


0

izin eklerken Gizlilik - Kullanım Sırasında Kullanım Açıklaması info.plist içindeki konum benim için çözüldü

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.