बनाएँ के साथ विफल रहता है "कमांड एक नॉनजरो निकास कोड के साथ विफल"


83

जब मैं अपने ऐप को Xcode के साथ बनाने की कोशिश करता हूं, तो एक त्रुटि बिल्ड प्रक्रिया को बाधित करती है:

CompileStoryboardनॉनज़ेरो एग्जिट कोड के साथ कमांड फेल हो गया

इसके बजाय, कभी-कभी यह त्रुटि दिखाता है:

CompileSwiftनॉनज़ेरो एग्जिट कोड के साथ कमांड फेल हो गया

मेरे पास न्यू बिल्ड सिस्टम चालू है।

मुझे इसे ठीक करने के लिए क्या करना चाहिए?


Xcode 10 में - stackoverflow.com/a/52722094/822420 यह आपकी मदद कर सकता है
RAM

जवाबों:


45

मेरे लिए Xcode बंद करने का प्रभाव नहीं पड़ा। इसके बजाय, मैंने प्रोजेक्ट का उपयोग करके साफ किया CommandShiftK


मुझे एक और कारण भी मिला: मेरे पास एक स्टोरीबोर्ड संदर्भ था जिसे मैंने हटा दिया था। त्वरित सुधार इसे हटा रहा था।

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


अच्छी तरह से अपनी परियोजना को बंद करने से यह साफ नहीं होता है कि यह काम क्यों नहीं किया गया :)
नेतृत्व किया

32

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


8
मेरे लिए काम नहीं किया। यह त्रुटि तब दिखाई दी जब मैंने info.plistफ़ाइल को स्थानीय बनाने का प्रयास किया ।
रिकार्डो मठ

2
मेरे साथ भी काम नहीं किया, विशेष रूप से जब मैं पहले से बनाए गए ढांचे की कोशिश करता हूं।
अब्दुल्रहमान मसूद

3
काम नहीं किया। कमांड + ऑल्ट + शिफ्ट + के का उपयोग करके फोल्डर बनाने की कोशिश की। कोई प्रतिक्रिया नहीं।
अपरेशकोव

जनवरी 09 2019 को Xcode 10.1 के साथ और यह निश्चित रूप से सही उत्तर नहीं है
NSDumb

2
सफाई पहले (CMD + SHIFT + K) फिर बिल्डिंग (CMD + B) ने मेरे लिए काम किया
डैनियल स्प्रिंगर

28

यह स्विफ्ट 4.2 और एक्सकोड 10 के साथ एक ज्ञात मुद्दा है। मुझे यहां एक लेख मिला जिसने इसे मेरे लिए तय किया: https://github.com/Yummypets/YPImagePicker/issues/236

संक्षेप में, अपनी परियोजनाओं के लिए सेटिंग बनाएँ, और SWIFT_ENABLE_BATCH_MODE नामक उपयोगकर्ता परिभाषित सेटिंग जोड़ें और इसका मान NO पर सेट करें।

पहले, मैंने यहाँ सुझाए गए तरीकों में से प्रत्येक (पुनर्निर्माण, एक्सकोड से बाहर, स्वच्छ और पुनर्निर्माण, शुद्ध डेटा फ़ाइलों को शुद्ध) की कोशिश की। उनमें से किसी ने काम नहीं किया।

एक बार जब मैंने उपयोगकर्ता को लेख के अनुसार बिल्ड सेटिंग परिभाषित किया, तो स्विफ्ट ने मुझे असली त्रुटि बताई। मेरे मामले में, यह गायब था}, लेकिन यह किसी भी संख्या में समस्याएं हो सकती हैं।


21

मैं भी xcode 10 में एक ही मुद्दे का सामना कर रहा हूं और प्रदान किए गए सभी समाधानों की कोशिश की, लेकिन कुछ भी काम नहीं कर रहा है।

फिर मैंने निम्नलिखित फ़ोल्डर की सभी फ़ाइलों और फ़ोल्डरों को हटा दिया:

~/Library/Developer/Xcode/DerivedData

और यह एक आकर्षण की तरह काम करता था।


9
इस जवाब ने काम कर दिया। टर्मिनल में कॉपी और पेस्टिबिलिटी के लिए इसका उपयोग करें:cd ~/Library/Developer/Xcode/DerivedData && open .
tww0003

1
धन्यवाद, मैं समाधान घंटे के लिए देख रहा हूँ, आप दिन बचा लिया!
ikel

मुझे यह रास्ता भी नहीं मिल रहा है। लेकिन @ tww0003 कोड के साथ चाल चली।
०६:२६ को ६

@ द्रोपिधा हां क्योंकि वह मेरी स्थानीय प्रणाली की है। मैंने पथ अपडेट कर दिया है अब आप इसे ढूंढ पाएंगे।
कृष्णा मीणा

11

यह त्रुटि तब हुई जब मैं NSManagedObject उपवर्ग बनाने से पहले इकाई गुण बदलना भूल गया। द्वारा हल:

  1. हटाना Entity+CoreDataClass.swiftऔर Entity+CoreDataProperties.swift
  2. इकाई मॉडल इंस्पेक्टर के "वर्ग" के तहत, "मॉड्यूल" को Current Product Moduleऔर "कोडगेन" को बदल दें Manual/None
  3. NSManagedObject को फिर से बनाएँ।

छवि


CoreDataClass क्या है ?
इगोरगानापोलस्की

9

मुझे इस त्रुटि का सामना करना पड़ा जब मैं स्विफ्ट 4 से 5. 5 में अपनी परियोजना का उन्नयन कर रहा था, मैंने पहली बार अपने सभी पॉड्स को उनके नवीनतम संस्करणों में अपडेट किया। जब मैंने बनाया, तो कुछ पॉड्स ने यह त्रुटि दिखाई।

निम्नलिखित चरणों ने मेरे लिए इस समस्या को हल किया:

  1. से सभी फली को निकाल दिया Podfile
  2. pod installसभी स्थापित फली को निकालने के लिए निष्पादित
  3. निष्पादित pod deintegrateCocoaPods के लिए समर्थन को दूर करने के
  4. हटाए गए Podfile.lockऔर .xcworkspaceमेरे प्रोजेक्ट से अब तक कोई कोकोआपोड्स नहीं
  5. अब मेरा प्रोजेक्ट एक शुद्ध Xcode प्रोजेक्ट है
  6. नियमित .xcodeprojफ़ाइल से मेरा प्रोजेक्ट खोला
  7. मेरी परियोजना का बदला हुआ संस्करण स्विफ्ट 5
  8. परियोजना को साफ किया (cmd + Shift + K)
  9. एक्सकोड को छोड़ दिया
  10. मेरे लिए सभी फली बहाल Podfile
  11. निष्पादित pod installकोकोपोड्स को फिर से जोड़ना और मेरी फली जोड़ने के लिए
  12. .xcworkspaceफ़ाइल से प्रोजेक्ट खोला
  13. साफ किया और पुनर्निर्माण किया
  14. कुछ पुरानी पॉड्स जो अभी भी Swift 4.0 (SlideMenuControllerSwift in my case) का उपयोग कर रही थीं, स्विफ्ट 5.0 में सेट हो गईं, जिससे उनके कोड में कई बिल्ड एरर हो गए। मैंने पॉड्स परियोजना को खोलकर और लक्ष्य को चुनकर स्विफ्ट 4.0 में इसे वापस लाया।
  15. फिर से साफ किया गया, फिर से बनाया गया।

अब मेरे पास मेरे स्वयं के प्रोजेक्ट कोड में केवल स्विफ्ट संस्करण में अंतर से संबंधित त्रुटियां हैं। मेरा काम अब उन्हें ठीक करना है।


क्या होगा अगर हम पोड के बजाय कार्टाज का उपयोग करें?
इगोरगानापोलस्की

8

मेरे पास त्रुटि थी Command LinkStoryboards failed with a nonzero exit code, और मैंने पाया कि मैं एक गैर-मौजूद स्टोरीबोर्ड के संदर्भ का उपयोग कर रहा था। मैंने हाल ही में एक स्टोरीबोर्ड फ़ाइल का नाम बदल दिया था, इसलिए 'पुराने' नाम से संदर्भ को बदलकर 'नया' नाम मेरे लिए हल कर दिया।
हो सकता है कि आपके पास मेरे जैसी ही त्रुटि न हो, लेकिन त्रुटि का अधिक विस्तृत विवरण खोजने का एक आसान तरीका है:

  • समस्या नाविक दिखाएँ (जबकि बिल्ड समय त्रुटि दिखा रहा है)
  • त्रुटि पर क्लिक करें: समस्या नेविगेटर में त्रुटि पर क्लिक करें
  • फिर, आपको अपनी त्रुटि के बारे में और देखना चाहिए: कमांड लिंकस्टोरीबोर्ड नॉनजेरो एक्जिट कोड के साथ विफल हो गया


आशा है कि ये आपकी मदद करेगा। कृपया, मुझे पता है कि मैं एक अलग त्रुटि के अनुभव से जवाब दे रहा हूं, क्योंकि इस बारे में सवाल पूछा गया था, लेकिन मेरा मानना ​​है कि इस सलाह से आपको इसी तरह की समस्याओं को जीतने में मदद करनी चाहिए!


7

यदि आपके पास एक से अधिक लक्ष्य हैं, जहां दो या अधिक लक्ष्यों में एक ही नाम वाली फाइलें हैं, तो फाइल निरीक्षक में उन फाइलों की लक्ष्य सदस्यता की जांच करें। त्रुटि तब होती है जब समान रूप से नामित फ़ाइल के कई उदाहरणों ने समान लक्ष्य के लिए लक्ष्य सदस्यता निर्धारित की है।



4

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


3

मेरे मामले में, मैं साफ बिल्ड फ़ोल्डर था फिर मेरे मैक को पुनरारंभ करें फिर यह काम है।


3

मेरे पास JSONwebtokenफली लगाई गई थी और वह समस्या पैदा कर रही थी। मुझे कॉड क्रिप्टो फ़ोल्डर को हटाने की जरूरत है जो JSONWebtokenपॉड फ़ोल्डर में है। यहाँ एक -> लिंक <- समस्या की व्याख्या है। यह Xcode 10 में होने लगा।


2

मेरे मामले में, मैंने एक क्लास एक्सटेंशन के अंदर बहुत जटिल इनिशियलाइज़ेशन का इस्तेमाल किया। इसने अचानक मेरा निर्माण तोड़ दिया।

class MyClass { }
extension MyClass {
static var  var1 = "", var2 = "", var3 = "", var4 = "", ...., var20 = ""
}

हल:

class MyClass { }
    extension MyClass {
    static var var1 = "",
    static var var2 = "",
    static var var3 = ""
    static var var4 = "", ...., 
    static var var20 = ""
    }


2

कमांड कंपाइलस्विफ्ट एक नॉनजरो एक्जिट कोड के साथ विफल हो गया

यह त्रुटि तब होती है जब आप अपने कोड को Xcode 9 से Xcode 10+ में माइग्रेट कर रहे होते हैं। यह किसी भी वर्ग के नाम के कारण मौजूदा सेब वर्गों के साथ परस्पर विरोधी है। उदाहरण के लिए: राज्य, घटना आदि।

  1. इसलिए पहले "राज्य" जैसे "स्टेटडेटेल" कोड में मौजूद किसी भी वर्ग / संरचना के नाम को बदल दें।

  2. यदि Info.plist को लक्ष्य में जोड़ा जाता है, तो उसमें से टिक मार्क हटा दें ताकि यह ऐप बंडल (नवीनतम Xcode10 सुरक्षा कारण) की प्रतिलिपि न बनाए।

    • Info.plist फ़ाइल का चयन करें और दाईं ओर पहचान निरीक्षक में "लक्ष्य सदस्यता" के तहत अनचेक करें

और फिर से कोड का निर्माण !!!


2

मेरे मामले में, समस्या यह थी कि मैंने स्टोरीबोर्ड में viewController को एक .swift वर्ग सौंपा, जबकि प्रोजेक्ट ऑब्जेक्ट सी था।


2

मैंने यहां चर्चा किए गए कई विकल्पों की कोशिश की।

  • पॉड्स को हटाएं और पुनर्स्थापित करें
  • साफ बिल्ड फ़ोल्डर
  • डिलीट डाटा डिलीट करें
  • SWIFT_ENABLE_BATCH_MODE जोड़ें और इसका मान NO पर सेट करें
  • Xcode और Recompiling को पुनरारंभ करना
  • IMac और Recompiling को पुनरारंभ करना
  • वृद्धि के लिए संकलन मोड सेट करें
  • परिवर्तित सेटिंग: SWIFT_COMPILATION_MODE = एकल और SWIFT_OPTIMIZATION_LEVEL = "-O"

कुछ भी काम नहीं किया। मैं Xcode संस्करण 11.0 बीटा (11M336w) का उपयोग कर रहा हूं।

अंत में मैंने एक नई प्रति डाउनलोड की और जो मैंने पहले स्थापित की थी, उसे बदल दिया। यह वही सटीक संस्करण था। यही चाल चली।


2

मेरे मामले में यह एक फ़ाइल थी जिसका नाम स्थान था। कुछ खुदाई के बाद मुझे पता चला कि यह एक ही नाम (अजीब) के साथ दो फ़ाइल होने के बारे में था। हालाँकि, मैं नहीं करता, हालाँकि, यह फ़ाइल को हटाकर और दूसरी फ़ाइल को एक अलग नाम के साथ जोड़कर हल किया गया है।

filenames are used to distinguish private declarations with the same name

2

सबमॉडल में अपनी इकाई परीक्षण चलाने की कोशिश करते समय मुझे यह त्रुटि मिली। मैंने क्या किया है:

सिम्युलेटर बदलें => परियोजना को साफ करें => परियोजना का निर्माण करें => इकाई परीक्षण चलाएं

इसके बाद, मेरी इकाई परीक्षण बिना किसी समस्या के चला।



1

मेरे पास इस तरह का मुद्दा है और मेरा समाधान बिल्ड सेटिंग्स में एक छोटी सी बात को बदल रहा है:

SWIFT_COMPILATION_MODE = singlefile;
SWIFT_OPTIMIZATION_LEVEL = "-O";

यह मेरे लिए काम करता है


1

ठीक है, मुझे Xcode 10 के साथ भी यही समस्या थी। मैं आमतौर पर हर दृश्य के लिए एक स्टोरीबोर्ड का उपयोग करता हूं, इस तरह से अगर कोई कोड को गुना करने में आसान हो तो मुझे मदद मिल रही है। मुझे एक स्टोरीबोर्ड पर एक दृश्य को प्रारंभिक दृश्य नियंत्रक बनाने की आवश्यकता है।


कृपया इसे आगे स्पष्ट करें, मुझे यह उत्तर पूरी तरह से नहीं मिलता है
मोहसिन ख़ुबीब अहमद

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

1

मेरे मामले में यह गलती से किसी अन्य फ़ोल्डर (समूह) में एक मौजूदा फ़ाइल के लिए एक फ़ाइल का नाम बदल रहा था, बस इसे फिर से नाम दें कि यह त्रुटि गायब हो गई थी


1

लक्ष्य को संबंधित डेटा जैसे कि एपिकॉन के साथ निर्दिष्ट किया जाना चाहिए


1

मेरे लिए समस्या यह थी कि मेरे पॉडफाइल पर मैंने नहीं डाला use_frameworks!। मैं बस उस लाइन को अनसुना करता हूं, pod installफिर से टर्मिनल पर दौड़ता हूं । और यह तय हो गया।

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


1

मेरे पास एक ही त्रुटि थी Xcode को रीस्टार्ट करने और मेरे लिए समस्या का पुनरावर्तीकरण करने की।


1

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


0

क्या मेरे लिए मदद की स्थापित करने के लिए है Compilation Modeकरने के लिए Incrementalसभी विन्यास के लिए Target's Build SettingsWhole moduleसंकलन मोड के साथ मुझे त्रुटियां मिलीं। लेकिन इस सेटिंग ने प्रोजेक्ट बिल्ड स्लो कर दिया।


0

यदि आप नए MacOS संस्करण पर उस तरह की त्रुटि का सामना कर रहे हैं।

xcrun: त्रुटि: अमान्य सक्रिय डेवलपर पथ (/ लाइब्रेरी / डेवलपर / कमांडलाइन), पर लापता xcrun: / पुस्तकालय / डेवलपर / कमांडलाइन / उपयोगकर्ता / बिन / xcrun

इसका मतलब है कि आपको XCode कमांड लाइन स्थापित करने, टर्मिनल खोलने और इस कमांड को चलाने की आवश्यकता है:

$ xcode-select --install


0

मेरे लिए इन त्रुटियों के कारण क्या था (मैं अपने कुछ कोकोपोड्स के लिए 8+ प्राप्त कर रहा था) सभी पॉड्स में किसी भी रनटाइम बिल्ड समस्या को ठीक कर रहा था।

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