त्रुटि संदेश '_BSMachError: (os / kern) अमान्य क्षमता (20)'


173

कृपया ध्यान दें कि यह त्रुटि संदेश काफी निम्न स्तर का है, इसलिए यह अलग-अलग परिदृश्यों में विभिन्न कारणों के लिए तैयार है। यदि आपके पास एक ऐसा परिदृश्य है जिसका नीचे दिए गए किसी भी उत्तर में उल्लेख नहीं किया गया है, तो कृपया अपनी स्थिति को भी जोड़ने पर विचार करें, इसलिए शायद यह विभिन्न स्थितियों के लिए एक केंद्रीय उत्तर हो सकता है जो इस त्रुटि संदेश को बढ़ाते हैं।

10 नवंबर 2015 को संपादित करें, यह भी ध्यान दें, मैंने जवाब के रूप में अपना स्वयं का उत्तर चिह्नित किया था, लेकिन वह इससे पहले कि किसी और ने पोस्ट किया था। मुझे लगता है कि किसी को भी वास्तव में उत्तर के रूप में चिह्नित नहीं किया जाना चाहिए, क्योंकि जैसा कि हम अब नीचे देख चुके हैं ... इस त्रुटि का केवल एक उत्तर नहीं है क्योंकि यह इतना निम्न स्तर है।

मैं चल रहा हुँ

  • iOS 9.0 सिम्युलेटर
  • XCode 7.0

कल सब कुछ ठीक चल रहा था।

आज, रोटेशन से संबंधित सामान पर काम का एक गुच्छा होने के बाद, मुझे अपने कंसोल आउटपुट में यह त्रुटि तब शुरू हुई जब मैंने सिम्युलेटर में ऐप चलाया और मैंने इसे घुमाया।

_BSMachError: (os / kern) अमान्य क्षमता (20)

_BSMachError: (os / kern) अमान्य नाम (15)

इस मुद्दे के लिए स्क्रीनशॉट - मैंने अपना बिल्ड फ़ोल्डर साफ़ कर दिया है, - मैंने व्युत्पन्न डेटा फ़ोल्डर को साफ़ कर दिया है, - मैंने सिम्युलेटर को रीसेट कर दिया है।

मैं साथ काम कर रहा था

  • UIViewController viewWillLayoutSubviews
  • UIViewController viewWillTransitionToSize:...

मैं आईबी में गुण निरीक्षक पर विभिन्न 'ड्राइंग' सेटिंग्स की भी जाँच कर रहा था।

मैंने UIView पर एक उपयोगिता श्रेणी भी बनाई जहां मैंने कई तरीकों का एक समूह बनाया, जो CGRectमुझे विचारों को फ़्रेम असाइन करने में मदद करता है।

रूट व्यू कंट्रोलर

रूट दृश्य नियंत्रक सेटिंग्स


BLE पर काम करते समय मुझे यह त्रुटि हो रही है
Nex Mishra

1
मुझे अभी तक कोई समाधान नहीं मिल रहा है, और मैं इसे घुमाते हुए भी प्राप्त कर रहा हूं। मुझे कभी-कभी थोड़ी देर बाद मेमोरी चेतावनी भी मिलती है, हालांकि Xcode रिपोर्ट करता है कि केवल थोड़ी मात्रा में मेमोरी का उपयोग किया जा रहा है। निराशा होती।
नार्को

79
अच्छा लगता है कि आपने नया रूप दिया MyFoodTracker: P
सैम सॉफ्स

8
स्क्रीनशॉट में लाल रेखा के साथ MyFoodTracker को क्यों पार किया गया है?
मारीआन Marierný

2
@LogicsaurusRex "इसका क्या मतलब है?" वास्तव में एक उपयोगी प्रश्न नहीं है, लेकिन "क्या इसे ठीक करने की आवश्यकता है?" शायद एक बेहतर सवाल है (जिस पर मैं जवाब चाहूंगा)। मेरा ऐप ठीक काम कर रहा है, लेकिन यह त्रुटि दिखा रहा है। मुझे इसे पिन करना और इसे ठीक करना अच्छा लगेगा, लेकिन यह एक छोटा ऐप नहीं है और इसे ढूंढने में मुझे कीमती समय लगेगा।
वृविम

जवाबों:


144

Https://forums.developer.apple.com/thread/15683 पर आधारित :

इसके बजाय संयुक्त राज्य अमेरिका में " स्थानीयकरण मूल विकास क्षेत्र " बदलें ।info.plisten

अपडेट किया गया: फिर आप इन परिवर्तनों को वापस कर सकते हैं।


3
इसने मेरे लिए भी काम किया। मैंने फिर सेटिंग को "एन" पर वापस कर दिया और त्रुटि वापस नहीं आती है।
स्काउा

यह मेरे लिए इस त्रुटि के नए उदाहरण के रूप में काम किया। मैंने यहां मूल पोस्ट पोस्ट की थी और ड्राइंग चेकबॉक्स में से एक के कारण यह त्रुटि हो रही थी। यह एक लंबे समय के लिए चला गया था, और अब किसी अन्य अज्ञात कारण के लिए फिर से फसल करना शुरू कर दिया, और इसे बदलकर वास्तव में इसे ठीक कर दिया ... होली गाय यह भयानक है।
लोगिक्सॉरस रेक्स

मेरा सेट है ja, नहीं en। मुझे क्या करना चाहिए? इसे सेट करें Japan?
निकोलस मियारी

1
यह काम किया। हालांकि वापस फिर से एन और कोई त्रुटि नहीं करने के लिए वापस
gh

30
मुझे वास्तव में इस तरह के जवाब पसंद नहीं हैं। क्योंकि यह कुछ भी नहीं समझाता है। क्या यह XCode पर बग है? क्या यह हमारी कोड पोजीशनिंग गलत है? और क्या?
जेनेकोड

66

मैं _BSMachErrorएक UIAlertControllerकार्रवाई से iOS 9 पर सेटिंग्स ऐप में गहरी लिंक करते समय कंसोल त्रुटियों में भी भाग गया । एक dispatch_asyncमेरी समस्या हल:

[aAlertVC addAction:[UIAlertAction actionWithTitle:@"Settings" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
    dispatch_async(dispatch_get_main_queue(), ^{
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
    });
}]];

2
इसने मेरे लिए कंसोल त्रुटि को हटा दिया, लेकिन मुख्य लॉकअप बग जिसे मैं ठीक करने की कोशिश कर रहा था, उसी समय मदद नहीं मिली
जेसन

शायद इस जवाब को सामान्य कर सकते हैं, मैं एक uialertcontroller (लगभग एक ही कोड) में बहस करते हुए मेरा हो गया। संभवत: यह करना है कि कैसे अलर्ट कंट्रोलर खुद को तस्वीर से बाहर निकालता है। मेरी समस्या को डिस्पैच_संकल्प के साथ हल किया।
user3802077

यहाँ एक ही मुद्दा - विशेष रूप से 9.2 सिम्युलेटर में ऐसा होता है जब UIAlertController के भीतर से UIAlertAction के लिए हैंडलर के माध्यम से मेरे ऐप के भीतर सिस्टम सेटिंग्स पर जा रहा हूं। जब मैंने पुराने UIAlertView के बजाय UIAlertController के लिए कोड फिर से लिखा तो सिम ने उसी _BSMach त्रुटियों (15,20) को फेंक दिया। असली डिवाइस (आईपैड) पर नहीं हुआ। Dispatch_async ने सिम्युलेटर को खुश किया। निश्चित रूप से UIAlertController से संबंधित है।
माइक कोगन

इसी समस्या ने इसे फिर से सिर में बदल दिया, इस बार सिम में नहीं बल्कि आईपैड पर और सिम पर नहीं। इस बार यह कुछ कोड था जो एक दृश्य को पीडीएफ संदर्भ में प्रस्तुत करता था जो मशीनर का कारण बनता था। फिर से डिस्पैच_सुंक ने इसे ठीक कर दिया। मैंने यह भी सत्यापित किया है कि जब यह कोड UIAlertAction के पूर्ण हैंडलर से UIAlertController में लगाए बिना निष्पादित किया जाता है, तो यह त्रुटि उत्पन्न नहीं होती है। मेरे दोनों मामलों में त्रुटि केवल XCode डिबग कंसोल में दिखाई दे रही थी और ऐप सही तरीके से निष्पादित होता रहा। इस सूत्र पर सुझाए गए स्थानीयकरण के किसी भी विचार का किसी भी परिदृश्य पर कोई प्रभाव नहीं पड़ा।
माइक कोगन

@ जेसन मैं एक ही मुद्दा था, यह कंसोल त्रुटि संदेश को हटा दिया, लेकिन यह अभी भी क्रैश। क्या आपने इसे किसी तरह हल करने का प्रबंधन किया?
bp14

32

ठीक है, मैंने इसे पूरी तरह से नीचे नहीं डाला है, लेकिन इससे आपको 99% रास्ता मिल जाएगा। मैं ईएसआरआई से तीसरे पक्ष के मानचित्र नियंत्रण का उपयोग कर रहा हूं, और इसके बारे में कुछ भी एट्रीब्यूट इंस्पेक्टर में इन ड्राइंग सेटिंग्स में से एक को पसंद नहीं करता है। मैंने व्यक्तिगत रूप से यह देखने के लिए प्रत्येक सेटिंग की कोशिश नहीं की कि यह कौन सी सेटिंग है, लेकिन जब मैंने उन सभी को बंद कर दिया (लाल बॉक्स में), तो सब कुछ एक आकर्षण की तरह काम करता था, और मैंने कंसोल में ऊपर त्रुटि संदेश प्राप्त करना छोड़ दिया। अगर और जब मुझे सेटिंग्स की सटीक सेटिंग या संयोजन के लिए इसे नीचे करने का समय मिलता है, तो मैं उत्तर को अपडेट करूंगा।

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


मुझे लगता है कि आपका उत्तर बहुत अच्छा है। हालाँकि, मैं शीर्ष पर बोल्ड टेक्स्ट को हटा दूँगा। हाल ही में जवाबों का एक बहुत बड़ा अनाम नीचे है, मुझे संदेह है कि यह कुछ भी व्यक्तिगत है।
जेसन डी

क्या होगा अगर मुझे इनमें से किसी एक का उपयोग करना है?
झरकी

15

यह पागल है, लेकिन मेरे लिए समाधान सिर्फ उस फ़ाइल में सभी ब्रेकप्वाइंट को हटाने के लिए था जहां त्रुटि हुई।

कारण के रूप में? मुझे लगता है कि मैंने गलती से वर्तमान लाइन में एक ब्रेकपॉइंट बनाने के लिए एक शॉर्टकट कुंजी मारा। क्योंकि वह अनपेक्षित था, मैंने उसे हटाने के लिए उसी शॉर्टकट कुंजी को फिर से मारा।

ओह माय डियर एक्सकोड ...


इसने मेरे लिए काम किया। एक सुराग यह था कि यह समस्या थी कि Xcode उन लाइनों पर टूटेगा, जिनमें कोई ब्रेकपॉइंट नहीं था। फिर, एक अलग लाइन पर मुझे ऊपर _BSMachErrors मिला।
Didge

12

मुझे वही त्रुटियां हो रही थीं ...

_BSMachError: (os/kern) invalid capability (20)
_BSMachError: (os/kern) invalid name (15)

मैं एक से openurL () कॉल कर रहा था UIAlertAction

alert.addAction(UIAlertAction(title: actionTitle, style: .Default) {
    UIApplication.shared.openURL(url)
 }

अगले रन लूप को ठीक करने तक ब्लॉक का निष्पादन ज्ञात करें ...

alert.addAction(UIAlertAction(title: actionTitle, style: .Default) {
    OperationQueue.main.addOperation {UIApplication.shared.openURL(url)}
 }

9

नए डेटा की आपूर्ति करते समय मैं निम्नलिखित प्राप्त कर रहा था:

> _BSMachError: (os/kern) invalid capability (20)
> _BSMachError: (os/kern) invalid name (15)

त्रुटि तब हुई जब एक बटन का उपयोग नए डेटा की आपूर्ति के लिए किया गया था। एक्शन NSTimerसे लौटने पर डेटा को रीफ्रेश और अपडेट करने के लिए एक का उपयोग किया गया था performSegueWithIdentifier। टाइमर को सक्रिय किया जा रहा था और फिर वापसी के समय उपयोग के तुरंत बाद अमान्य कर दिया गया था। MSMachErrorबंद कर दिया जब टाइमर हटा दिया गया था और - (void)viewWillAppear:(BOOL)animatedऔर (void)viewDidAppear:(BOOL)animatedएक ही समारोह में प्रदर्शन करने के लिए कार्यरत थे। यह त्रुटि Xcode 7 के उन्नयन के साथ शुरू हुई।


6

मुझे आपकी परियोजना में मौजूद डिफ़ॉल्ट मान से [या किसी विशिष्ट क्षेत्र] की Localization native development regionकुंजी के मूल्य में परिवर्तन करके इस मुद्दे को ठीक किया गया ।United Kingdom eninfo.plist

  1. चुनते हैं Project Navigator
  2. info.plistProjectNameTests फ़ोल्डर में मौजूद फ़ाइल का पता लगाएँ ।
  3. उदाहरण के Localization native development region keyलिए किसी विशिष्ट क्षेत्र का मूल्य बदलें यूनाइटेड किंगडम

चरण 1 और 2

चरण 3


हां, यह फिक्स पागल लगता है, लेकिन यह काम करता है। मेरे लिए ऐप ने काम किया जब Xcode 7.3.1 एक टेथर्ड iPod टच 5 वें जीन पर तैनात किया गया। लेकिन जब पहली बार एक्सकोड से एक टेथर आईपैड एयर में तैनात किया गया तो मुझे इसका सामना करना पड़ा BSMachErrorUnited Statesत्रुटि को दूर करने के लिए स्विचिंग क्षेत्र । फिर भी एक और अकथनीय Xcode रहस्य।
बेसिल बोर्क

4

मैं एक पृष्ठभूमि थ्रेड पर चल रहे NSOperation में भी इसी समस्या में भाग गया था और मुझे अभी भी यह त्रुटि मिल रही थी क्योंकि एक UIAlertController अभी भी खुद को हटा रहा था क्योंकि एक और UI लेनदेन होने की कोशिश कर रहा था। मेरे कोड को संशोधित करके इस मुद्दे को तय किया।

defer { 
    dispatch_async( dispatch_get_main_queue(),{
        completion()
    }) 
}

बहुत से लोग डेफर के बारे में नहीं जानते-यह वर्तमान गुंजाइश को पूरा करने देता है और उसके बाद चलता है। किन्दा नीर।


4

मुझे एक ही त्रुटि अमान्य क्षमता (20) और अमान्य नाम (15) का सामना करना पड़ा। मैंने अन्य लोगों द्वारा बताए गए समाधानों की कोशिश की:

  • स्थानीयकरण देशी विकास क्षेत्र की कुंजी info.plist में
  • गुण निरीक्षक में ड्राइंग सेटिंग्स बदलना
  • यहां तक ​​कि ATS एक्सेप्शन डिक्शनरी को भी info.plist में बदल दिया

लेकिन उन समाधानों में से किसी ने भी मेरी समस्या का समाधान नहीं किया। वास्तव में, मैं कुछ दस्तावेज़ साझा करने की कोशिश कर रहा था, लेकिन दस्तावेज़ बनाने में कुछ समय लगेगा और उपयोगकर्ता को UIActivityIndicatorView प्रदर्शित करना चाहता था जब तक कि दस्तावेज़ दस्तावेज़ लोड न हो जाए।

मेरी त्रुटि का हल था:

//Create a alertView add UIActivityIndicatorView to it and present it in ViewController

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
//Call method 1 todo background process like getting data

dispatch_sync(dispatch_get_main_queue(), ^{
    //Call method 2 to update the UI
    [alert dismissViewControllerAnimated:YES completion:^(void){
        //My mistake was: I was calling method 2 over here to update the UI
        return;
    }];
});
});

बहुत बढ़िया, मेरे लिए काम किया! यह जानना महत्वपूर्ण है कि UI को अपडेट करने के लिए
डिस्पैच_गेट_मैं_क्व्यू

3

संयुक्त राज्य अमेरिका से स्थानीयकरण स्ट्रिंग को बदलना मेरे लिए यह तय करता है। हालाँकि, सुनिश्चित करें कि आप Info.plist बदलने के बाद साफ कर लें। मैंने देखा है कि जब आप प्लिस्ट परिवर्तन करने के बाद निर्माण करते हैं तो अपडेट काम नहीं करते हैं।यहां छवि विवरण दर्ज करें



2

मैं अपने लिए त्रुटि को पुन: उत्पन्न कर सकता हूं: यदि कोई दृश्य में से किसी एक में परिवर्तन करता है जो मैं वास्तव में पहले से ही बंद कर रहा हूं (popViewControllerAnimated) मैं त्रुटि प्राप्त करता हूं।

मैं एक UINavigationButton कार्रवाई कर रहा हूं जो एक अतुल्यकालिक कार्य (POSTRequest) बनाता है। इस अनुरोध को करने से पहले मैंने उस बटन के customView को प्रगति सूचक पर सेट कर दिया। जब एसिंक्रोनस कॉल से वापस आ रहा हूं तो मैं मुख्य थ्रेड को भेजता हूं और उस बटन के कस्टम व्यू को रीसेट करता हूं। उसके बाद मैं दृश्य बंद कर रहा हूं (popViewControllerAnimated)।

यह वह सुधार कोड है जिसमें त्रुटि दिखाई नहीं देती है:

/* right way, working without BSMachError */
@IBAction func sendRequest(sender: UIBarButtonItem) {
    /* setting the progress indicator as customView of the self.saveButton */
    self.showActivityIndicatory(self.saveButton)
    /* asynchronous REST call */
    UserDataManager.sharedInstance.requestFeedback(request, onCompletion: { error in
        dispatch_async(dispatch_get_main_queue(),{
        /* resetting the saveButton again to default by setting customView to nil */
        self.saveButton.customView = nil
        /* closing the view */
        self.navigationController!.popViewControllerAnimated(true)
      })
    })
}

किस कारण से त्रुटि स्विच हो रही थी: दृश्य को बंद करना और फिर कस्टम दृश्य को शून्य पर सेट करना:

/* WRONG way, causing BSMachError */
@IBAction func sendRequest(sender: UIBarButtonItem) {
    /* setting the progress indicator as customView of the self.saveButton */
    self.showActivityIndicatory(self.saveButton)
    /* asynchronous REST call */
    UserDataManager.sharedInstance.requestFeedback(request, onCompletion: { error in
        dispatch_async(dispatch_get_main_queue(),{
        /* closing the view */
        self.navigationController!.popViewControllerAnimated(true)
        /* resetting the saveButton again to default by setting customView to nil */
        self.saveButton.customView = nil
      })
    })
}

2

कुछ पर्यवेक्षकों को जोड़ने के बाद यह त्रुटि शुरू हुई:

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.keyboardWillHideOrShow(_:)), name:UIKeyboardWillShowNotification, object: nil)

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.keyboardWillHideOrShow(_:)), name:UIKeyboardWillHideNotification, object: nil)

समस्या तब चली गई जब मैंने इसके बजाय कक्षा का नाम निर्दिष्ट किया self:

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(MyClass.keyboardWillHideOrShow(_:)), name:UIKeyboardWillShowNotification, object: nil)

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(MyClass.keyboardWillHideOrShow(_:)), name:UIKeyboardWillHideNotification, object: nil)

2

मेरे पास एक ही त्रुटि थी और उपरोक्त में से कोई भी मेरी समस्या पर लागू नहीं हुई। समस्या तब सामने आई जब मैंने एक उपकरण अभिविन्यास परिवर्तन के लिए एक पर्यवेक्षक के रूप में अपने दृश्य नियंत्रक को पंजीकृत किया, ताकि विचारों को आकार दिया जा सके और दृश्य में आरेखण को नए आकार के अनुसार बनाया जा सके।

मेरे पास एक व्यूग्राफ का एक आउटलेट था जो UIView का एक उपवर्ग था जिसमें मैंने कुछ ग्राफिक्स खींचे थे। लैंडस्केप मोड में व्यूग्राफ का आकार पोर्ट्रेट मोड से बड़ा है। इसलिए जब डिवाइस अपने अभिविन्यास को बदल देता है तो स्पीडग्राफ को फिर से तैयार करने की आवश्यकता होती है।

समस्या यह थी, कि मैंने स्पीडग्राफ दृश्य में कई सबव्यू जोड़े, जिसमें ग्राफिक्स थे। स्पीडग्राफ दृश्य में नए सिरे से प्रस्तुत किए जाने की आवश्यकता है और फिर इन्हें फिर से तैयार किया जाना चाहिए। डिवाइस के अपने ओरिएंटेशन को बदलने के बाद मैंने स्पीडग्राफ व्यू बनाने के लिए viewDidAppear को फिर से बुलाया और इसके सभी साक्षात्कारों को नए सिरे से निर्धारित किया और खुद को फिर से तैयार किया। स्पीडग्राफ के लिए setNeedsDisplay को कॉल करना एक दृश्य में अभिविन्यास परिवर्तन और साक्षात्कार के साथ काम नहीं करता है।

मैंने क्या गलत किया जिससे त्रुटि सामने आई। ViewDidAppear में मैं एक विधि कहता हूं जो कुछ गणना करता है और स्पीडग्राफ दृश्य के लिए सबवे जोड़ता है। समस्या यह थी कि ये साक्षात्कार विधि में बनाए गए थे और इस पद्धति में स्पीडग्राफ दृश्य में जोड़े गए थे। विधि को छोड़ने के बाद, इन सबव्यू के संदर्भ, निश्चित रूप से, हटा दिए गए हैं, लेकिन स्पीडग्राफ दृश्य में सबवे बने हुए हैं, क्योंकि वे जोड़े गए हैं। जब डिवाइस में बदलाव होता है, तो फिर से सबव्यू बनाया जाता है और स्पीडग्राफ दृश्य में जोड़ा जाता है, जिसमें पहले से ही ये सबव्यू हैं, लेकिन अब इन सबव्यू के संदर्भ नहीं मिल सकते हैं। स्पीडग्राफ दृश्य के साक्षात्कारों की सरणी लंबी और लंबी हो जाती है (मुझे लगता है) झूलते हुए साक्षात्कार।

मैंने इस समस्या को हल कर दिया कि स्पीडग्राफ दृश्य में एक क्लास प्रॉपर्टी के रूप में जोड़ा जाएगा और फिर इस पद्धति के अंदर के विचारों के साथ क्या किया जाना चाहिए। इस परिवर्तन के साथ समस्या दूर हो गई थी।


2

चूँकि हम सभी स्थितियों को एक ही त्रुटि के बाद यहाँ पोस्ट कर सकते हैं, इसलिए मुझे मेरा पोस्ट करने के लिए स्वतंत्र महसूस हुआ :)। जब मुझे बैकग्राउंड में प्राइवेसी सेटिंग्स बदली तो मुझे एरर मिला। मेरे ऐप ने सेटिंग ऐप को खोला, ताकि उपयोगकर्ता इसे अपने फोटोलॉफ़्ट को अनुमति दे सके, जब अनुमति स्विच सेट हो जाए, तो ऐप मंसर्ड एरर के साथ क्रैश हो जाए:

_BSMachError: (os/kern) invalid capability (20)
_BSMachError: (os/kern) invalid name (15)

ऐसा प्रतीत होता है कि OS द्वारा आपके ऐप का एक मजबूर पुनरारंभ है, क्योंकि उपयोगकर्ता ने बदल दिया है कि आपका ऐप क्या कर सकता है। तो मेरे मामले में यह ओएस की एक कार्रवाई है जो त्रुटि का कारण बना।


मुझे यह भी मिल गया। तो यह वास्तव में बग नहीं है। जब एप्लिकेशन Xcode से जुड़ा नहीं है, तो कुछ भी भयानक नहीं होगा। धन्यवाद भाई, आप मेरे डिबगिंग समय के कुछ घंटों को बचा सकते हैं।
युजी

1

मुझे एक ही त्रुटि संदेश मिला, क्योंकि मुझे assignएक objectसंपत्ति पसंद है @property (assign, nonatomic) NSNumber *aVariable;, जिसे बदलकर तय किया गया है strong


1

इसके लायक क्या है - ऐसा लगता है कि बहुत सारी स्थितियों में यह त्रुटि है। मेरे मामले में, मैंने एक अलर्ट पोस्ट किया था जब उपयोगकर्ता डेटा प्रविष्टि फॉर्म को खारिज कर रहा था और डेटा फॉर्म में था। मैं दृश्य नियंत्रक को देखने से पहले सभी लागू क्षेत्रों से प्रोग्रामर को इस्तीफा देकर प्रोग्रामेटिक रूप से त्रुटि को समाप्त करने में सक्षम था।


यह वह समस्या है जो मुझे भी हो रही है, लेकिन चूंकि व्यू कंट्रोलर को नेविगेशन कंट्रोलर के नेविगेशन बार से बैक बटन द्वारा खारिज कर दिया जाता है, इसलिए prepareForSegue()उसे कॉल नहीं किया जाता है और मुझे नहीं पता कि पहले उत्तरदाता को कहां इस्तीफा देना है।
टिम्सिम

1

मैंने इसे तब देखा जब मैंने Homeबटन को दबाया UIAlertControllerथा जबकि प्रदर्शित किया गया था, जब मुझे ऐप को पुन: लॉन्च करने पर खारिज कर दिया गया था। मैं खारिज करने के लिए कोड जोड़ UIAlertControllerमें appDelegate:

func applicationWillResignActive(application: UIApplication) {
  window?.rootViewController?.dismissViewControllerAnimated(false, completion: nil)
}

और त्रुटि संदेश गायब हो गया।


1

प्रतिनिधि के माध्यम से एक पॉपओवर को खारिज करते समय मेरे पास यह त्रुटि थी। डेलिगेटमैथोड में मैंने कुछ GUI-Stuff को ट्रिगर किया। GUI-Stuff को बर्खास्त करने के समापन में डाल रहा है ViewControllerAnimated ने इसे ठीक किया।

[myPopoverView dismissViewControllerAnimated:YES completion:^{ //GUI-Stuff}];

1

मैं इस पर एक newb हूँ इसलिए इसे ले लो इसके लायक है।

मेरे लिए इसने जो तय किया वह सिमीलेटेड मेट्रिक्स> साइज> को iPad फुल स्क्रीन में बदल रहा था। मेरे सभी विचार उस एक के लिए EXCEPT है जो इस त्रुटि को हमने iPad पूर्ण स्क्रीन पर सेट किया है। जब मैंने इसे बदल दिया, तो त्रुटि दूर हो गई ...


1

"डेवलपर्स स्टेट्स" से "एन" (या) अन्य क्षेत्र में बदलने के बाद कुछ डेवलपर्स को त्रुटि नहीं मिलती है, यह है कि "संपत्ति सूची" और "स्रोत कोड" विचारों के बीच विसंगति है। यह शायद Xcode बग है। जब भी इन दोनों विचारों के बीच बेमेल होता है, तो यह त्रुटि होगी, चाहे वह "एन" या "अंग्रेजी" हो। यदि आप एक ही होने के लिए दोनों विचारों के लिए "en" या "United States" में बदल गए हैं, तो समस्या ठीक हो जाएगी।


1

मुझे यह त्रुटि मिली:

var promptsArr =  StartRegAlerts() //Instance of the class

आदि

func textFieldDidBeginEditing(textField: UITextField) {     
    switch textField.tag {
            case 0:
                alert(promptsArr.prompts["Name"]!)
            case 1:
                alert(promptsArr.prompts["CellPhone"]!)
            case 4:
                alert2(promptsArr.prompts["NUMBERCORRECT"]!)
                //alert(promptsArr.prompts["Wait4Pin"]!)

            default: break
            }
It only occurred for case 0 but not the other cases:
As a work around for now I commented out case 0 and that stopped the error.
I then changed  calling promptsArr.prompts by:

एक नया शब्दकोश शीघ्र बनाने और:

 override func viewDidAppear(animated: Bool) {
             prompt = promptsArr.prompts //
      }

और फिर मेरे अलर्ट कॉल में शीघ्र उपयोग किया। इससे समस्या ठीक हुई।

तो ऐसा प्रतीत होता है कि यह एक समय का मुद्दा है।


मुझे डर है कि यह केवल थोड़ी देर के लिए काम किया और फिर यह फिर से प्रकट हुआ - इसलिए केस 1 को टिप्पणी करना और फिर उस अलर्ट को कॉल करना बाद में समस्या को हल करने के लिए लगता है।
जेरेमी

0

Xcode 8.1 और iOs 10 के साथ मैंने भी सामना किया

_BSMachError: (os / kern) अमान्य क्षमता (20)

_BSMachError: (os / kern) अमान्य नाम (15)

UiTraiCollection var को ओवरराइड करने के लिए रनटाइम में बदलने के लिए iPad के क्लासेस को पोर्ट्रेड और लैंडस्केप में दो अलग-अलग इंटरफ़ेस लेआउट बनाने के लिए। इसने बिना किसी दुर्घटना के काम किया लेकिन हमारी त्रुटियों को उत्पन्न किया।

यह "maliciuos" कोड था:

override public var traitCollection: UITraitCollection {
    if UIDevice.currentDevice().userInterfaceIdiom == .Pad && UIDevice.currentDevice().orientation.isPortrait.boolValue {
        return UITraitCollection(traitsFromCollections:[UITraitCollection(horizontalSizeClass: .Compact), UITraitCollection(verticalSizeClass: .Regular)])
    }
    return super.traitCollection
}

override func viewWillTransitionइंटरफेस रोटेशन का पता लगाने के लिए विकल्प के रूप में उपयोग की गई त्रुटियां ।

मुझे उम्मीद है कि यह किसी के लिए उपयोगी होगा


0

मेरे मामले में त्रुटि का कारण आकार बदलने के कारण था। आईबी में निर्मित। कुछ भी जो टेक्स्ट फ़ील्ड के आकार को बदल सकता है या उदाहरण के लिए लाइन की लंबाई को बदलने से इस त्रुटि का कारण हो सकता है जो मुझे विश्वास है। मेरे मामले में मुझे बस सभी संभावनाओं को कवर करने के लिए पाठ क्षेत्र के आकार को समायोजित करना पड़ा ताकि इसे बॉक्स और आकार के साथ संघर्ष करने की आवश्यकता न हो।

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