didFailWithError: त्रुटि डोमेन = kCLErrorDomain कोड = 0 "ऑपरेशन पूरा नहीं किया जा सका। (kCLErrorDomain त्रुटि 0.) ”


82

मैं वर्तमान स्थान प्राप्त करना चाहता हूं, लेकिन इसके बजाय मुझे एक त्रुटि मिलती है।

यह मेरे विचार नियंत्रक का एक स्निपेट है।

- (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);
}

मुझे डेलिगेट विधि locationManager:didUpdateLocations:के आने की उम्मीद है , लेकिन इसके बजाय, केवल locationManager:didFailWithError:कॉल किया जाता है, और यह प्रिंट करता है:

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

आप एक विकल्प के रूप में एक गूगल एपीआई का उपयोग कर सकते हैं। यहां अपना जवाब देखें stackoverflow.com/a/40670608/2033377
दीपक ठाकुर

जवाबों:


106
  1. जांचें कि आपके पास वास्तव में एक वैध वाईफाई और 3 जी कनेक्शन है

    ... यदि आप करते हैं, तो:

  2. सेटिंग्स पर जाएं और अपनी स्थान सेवाओं को रीसेट करें

  3. अपनी नेटवर्क सेटिंग रीसेट करें

इस बात का ध्यान रखना चाहिए। यह डिवाइस / नेटवर्क से संबंधित है ऐप से संबंधित नहीं। यह विशेष रूप से कष्टप्रद है यदि आपका ऐप स्थान सेवाओं पर निर्भर है और डिवाइस केवल वाईफाई है और लोग AppStore पर नकारात्मक रेटिंग देते हैं ... मुझे क्षमा करें, मैं वहां थोड़ा भावुक हो रहा हूं।


2
जहां तक ​​मुझे पता है कि जीपीएस को इंटरनेट या वाईफाई कनेक्शन की जरूरत नहीं है। यह सिर्फ एक रिसीवर है अगर यह जीपीएस उपग्रहों के 2 या 3 के साथ सुलभ स्थान पर है, तो हम भू स्थान निर्देशांक प्राप्त कर सकते हैं। जब कोई त्रुटि होती है तो क्यों आती है कोई इंटरनेट या वाईफाई कनेक्शन नहीं?
दुरई अमुथन।

2
स्थान सेवाओं और नेटवर्क सेटिंग्स को रीसेट करने के लिए एक upvote
दुरई अमूथन।

3
आपको इन चरणों से नहीं गुजरना चाहिए बस इस त्रुटि को अनदेखा करें और अधिक अपडेट की प्रतीक्षा करें। नीचे मेरा उत्तर देखें या कम से दस्तावेज़ देखें developer.apple.com/library/ios/documentation/corelocation/... :
रे Lillywhite

3
मेरे डिवाइस (iPhone 5S, iOS 8.1.3) पर MapKit और CoreLocation के साथ खेलते समय मुझे बिल्कुल वैसी ही समस्या थी। मैं एक स्थान प्राप्त करने में असमर्थ था, और एक ही त्रुटि बार-बार (एक अच्छे मोबाइल नेटवर्क सिग्नल के बावजूद) मिली। जब तक मैंने वाईफाई चालू नहीं किया, और सब कुछ तय हो गया! अजीब ... धन्यवाद!
विनज़्ज़

2
@ DuraiAmuthan.H iPads में वास्तविक जीपीएस हार्डवेयर नहीं है। वे आपके स्थान को निर्धारित करने के लिए वाईफाई मैक पते के एक डेटाबेस का उपयोग करते हैं।
WhoKnows

146

यदि आप सिम्युलेटर का उपयोग कर रहे हैं:

  1. command + shift + ,योजना संपादक खोलने के लिए Xcode में दबाएँ
  2. रन स्कीम चुनें
  3. विकल्प टैब पर जाएं
  4. जांच ✅ Allow Location Simulation
  5. ड्रॉपडाउन में एक डिफ़ॉल्ट स्थान का चयन करें

Noneआपके डिफ़ॉल्ट स्थान के रूप में चयन करने से समस्या उत्पन्न हो सकती है।


4
वाह! धन्यवाद, मैं हफ्तों से इसका पीछा कर रहा हूं। मेरा ऐप मेरे iPad या iPhone को लंदन, इंग्लैंड के स्थान के लिए मजबूर करता रहा, और मैं इसका पता नहीं लगा सका। मैंने उस विकल्प को बंद कर दिया और समस्या दूर हो गई। हालांकि यह हिचकी स्थान को हथियाने वाली थी और फिर बंद हो रही थी और स्थान को योजना में बदल दिया।
एंड्रयू स्मिथ

7
मेरे लिए काम किया, लेकिन मुझे भी करना पड़ा iOS Simulator>Reset Content and Settings...
बेंडाईट्री

मेरे लिए इसे भुनाया।
स्कॉट्टीब्लाड्स

23

बस इस त्रुटि को अनदेखा करें और अधिक अपडेट या एक अलग त्रुटि की प्रतीक्षा करें।

स्थान प्रबंधक के लिए डॉक्स का कहना है कि यह त्रुटि अस्थायी है। यह आपको बता रहा है कि यह किसी स्थान को तुरंत प्राप्त करने में विफल रहा है, लेकिन यह कोशिश करना जारी रखता है। "ऐसी स्थिति में, आप बस त्रुटि को अनदेखा कर सकते हैं और एक नई घटना की प्रतीक्षा कर सकते हैं।" नाम की विधि का उपयोग करने के लिए वास्तव में हड्डी का रास्ता क्या है locationManager:didFailWithError:- धन्यवाद Apple!

Apple Documentation


19

सिम्युलेटर को फिर से शुरू करने की कोशिश करें (यह मानते हुए कि आप क्या उपयोग कर रहे हैं)।

बाकी सब कोशिश करने के बाद यह मेरे लिए काम कर गया।


मेरे लिए काम किया। थैंक्स
सुशील शर्मा

मेरे लिए भी काम किया। धन्यवाद
cozmin-Calin

14

सिम्युलेटर का एक पुनरारंभ मेरे लिए काम नहीं किया।

मुझे सब कुछ साफ करना पड़ा "iOS Simulator" >> "Reset Content and Settings...


9

मुझे यह त्रुटि सिम्युलेटर पर मिल रही थी। डिबगिंग पैनल में स्थान बटन पर क्लिक करना और एक स्थान सेट करना मेरे लिए समस्या को निर्धारित करता है। (सुनिश्चित करें कि बटन नीला है)

यहाँ छवि विवरण दर्ज करें



5

सिम्युलेटर पर "स्थान" को बदलना मेरे लिए काम करता है।

डीबग> स्थान> (सिटी साइकिल की सवारी के बजाय मेरा कोई भी चेक नहीं किया गया था जैसे)


5
  1. सिम्युलेटर में Settings> General> Reset> Reset Location & Privacy पर जाएं

  2. सिम्युलेटर से बाहर निकलें और फिर से ऐप चलाएं


3

मान लें कि आप सिम्युलेटर का उपयोग कर रहे हैं, तो आप Debug -> Locationकिसी स्थान को सेट और सेट कर सकते हैं ।

यदि आपने कोई भी चयन नहीं किया है, तो आपके पास यह त्रुटि होगी।


2

यदि आप custom locationसुनिश्चित कर रहे हैं कि आपके पास लंबा और सही तरीका है, तो मैंने इसे उल्टा कर दिया था और मुझे एहसास होने से 3 घंटे पहले बर्बाद कर दिया था ...


यहाँ मैं भी 2 घंटे बर्बाद कर दिया है, सही स्थितियों में अक्षांश और देशांतर सेट करें।
अर्पित बी पारेख

2

मैंने समस्या को पहले देखा है, इसे हल करने का एक तरीका है, लेकिन यह केवल एक बार काम कर सकता है। यदि आप परियोजना को फिर से चलाना चाहते हैं और आपको हर बार समाधान दोहराने की आवश्यकता है।

1. Xcode, उत्पाद -> योजना -> योजना संपादित करें, फिर "अनुमति दें सिम्युलेटर" रद्द करें।

2. iOS सिम्युलेटर के लिए और सामग्री और सेटिंग रीसेट करें।

3. Xcode पर जाएं, पहला चरण दोहराएं।

4. iOS सिम्युलेटर और रीसेट करें। तब यह काम करेगा।


1

इस तरह के मुद्दों को " Apple" के रूप में स्थान निर्धारित करके हल किया जा सकता है । कम से कम यह परीक्षण के उद्देश्य के लिए काम करता है।


1
  1. मैंने सामग्री और सेटिंग्स को रीसेट कर दिया है।
  2. व्युत्पन्न डेटा से डेटा हटा दिया गया।
  3. Xcode, और सिमुलेटर को फिर से शुरू किया और मेरे लिए काम किया।

@ मीम और कई अन्य लोगों के जवाब से


1

लौटे देवों के लिए :) बस Debug->Location->Freeway Driveसिम्युलेटर मेनू से " " का चयन करें । यदि फिर भी समस्या है तो "सिम्युलेटर-> रीसेट सामग्री और सेटिंग" करने के बाद सिम्युलेटर मेनू बनाएं। इससे मुझे एक ही मुद्दे पर एक बार मदद मिली। कुछ समय सिम्युलेटर स्थान " Custom location" पर सेट है जिसके कारण इसका कुछ भी पता नहीं चल रहा है।


1

यदि आप सिम्युलेटर का उपयोग कर रहे हैं, तो सुनिश्चित करें कि योजना स्थान की अनुमति देती है, और आपने डिफ़ॉल्ट स्थान चुना है।

यहाँ छवि विवरण दर्ज करें


0

डिवाइस में प्रयास करें। कभी-कभी सिम्युलेटर आपका स्थान लेने में विफल रहता है।


0

सिम्युलेटर में घर जाओ

घर -> सेटिंग्स -> गोपनीयता -> स्थान -> एप्लिकेशन का चयन करें और हमेशा चुनें


0

अनुमति जोड़ते समय गोपनीयता - जानकारी में उपयोग उपयोग विवरण में स्थान। इस जानकारी को मेरे लिए हल किया गया था

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.