"SWIFT_VERSION '3.0' को ठीक करने के लिए कैसे असमर्थित है, समर्थित संस्करण हैं: 4.0, 4.2, 5.0" Xcode 10.2 में त्रुटि?


118

मैं ऐप से डाउनलोड करने की कोशिश कर रहा हूं, Xcode में खोलने का प्रयास कर रहा हूं और एक त्रुटि है:

"हाल के संदेश दिखा रहा है
: -1: SWIFT_VERSION '3.0' असमर्थित है, समर्थित संस्करण हैं: 4.0, 4.2, 5.0। (लक्ष्य 'सिम्पलवेदर' में)"

स्क्रीनशॉट जोड़ा गया


सामान को अपडेट करें। 3.0 स्विफ्ट इवोल्यूशन स्पीड के मामले में बहुत पुराना है
वाडियन

2
मैं Xcode 10.2 का उपयोग कर रहा हूं और पुराने 3.0 को खोलने की कोशिश कर रहा हूं, लेकिन प्रोग्राम coz नहीं चला सकता है जो मेरे पास त्रुटियां हैं।
vlad uvarov

Xcode 10.1 में प्रोजेक्ट खोलें और अपडेट करें। डिस्क पर Xcode के कई अलग-अलग संस्करण होना संभव है।
वदियान

1
Xcode का अपडेटेड वर्जन;
vlad uvarov

7
हे भगवान!!! XCode 10.2 को डाउनलोड करने के लिए मुझे केवल तीन घंटे का समय लगा, केवल यह जानने के लिए कि मैं अब अपने ऐप्स नहीं बना सकता। मेरे पास XCode 10.1 का कोई बैकअप नहीं है! यह सिर्फ पागलपन है Apple मुझे इसके लिए भुगतान करना चाहिए।
vojta

जवाबों:


99

प्रोजेक्ट में 'सिंपलवेदर' का चयन करें और भाषा संस्करण बदलें-> निर्माण सेटिंग -> स्विफ्ट संकलक भाषा -> 5, 4.2 आदि का चयन करें।

कंपाइलर भाषा बदलने के लिए बिल्ड सेटिंग की छवि


76

******** सबसे आसान उपाय: **********

बाएं कॉलम में PODs पर क्लिक करें।

2. केंद्र स्तंभ में उस पॉड का चयन करें जिसे आप चाहते हैं, फिर ऊपरी दाएं पैनल में "सेटिंग सेट करें" पर नेविगेट करें।

3. फिर "स्विफ्ट भाषा संस्करण" खोजें और एक ज्ञात संस्करण में बदलें।

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


1
धन्यवाद। यह वह उत्तर है जिसकी मुझे तलाश है।
विनू जैकब

स्क्रीनशॉट की तलाश में मदद की है।
नमो

53

Xcode 10.1 के लिए, अपनी पॉड्स फ़ाइल चुनें

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

-> निर्माण सेटिंग्स पर जाएं -> अपना पॉड चुनें -> "स्विफ्ट" खोजें -> "स्विफ्ट भाषा संस्करण" पर नेविगेट करें -> वांछित भाषा संस्करण पर सेट करें।

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


9
स्विफ्ट संस्करण होने पर यह समाधान काम नहीं करता है 3.xऔर आपके पास इससे बड़ा एक्सकोड संस्करण है10.2
जुआन पी। ऑर्टिज़

12

मैंने इस पृष्ठ पर निर्देशों का पालन किया और त्रुटि हल नहीं हुई। अंत में, में चला गया

$ vim MyProject.xcodeproj/project.pbxproj

और जहां दो उदाहरण मिले

SWIFT_VERSION = 3.0;

अभी भी संदर्भित किया जा रहा था। मैंने उन्हें 5.0 में बदल दिया और त्रुटि हो गई। यकीन नहीं होता कि वे दोनों अभी भी वहाँ क्यों थे।


1
मैंने स्विफ्ट 3.0 से 5.0 तक माइग्रेशन के लिए ऐप्पल के गाइड का उपयोग किया , हालांकि सहायक कोई सुझाव नहीं दिखा रहा था। जैसे ही मैंने उपरोक्त उत्तर में इन दो पंक्तियों को संशोधित किया, इसने मुझे तुरंत विस्थापित करने के लिए प्रेरित किया। इस समाधान को साझा करने के लिए धन्यवाद @Forrest !
करीम जिरौदी

बहुत बढ़िया! खुशी है कि यह आपकी मदद की @KareemJeiroudi
फॉरेस्ट

2
धन्यवाद, इसने मेरी बहुत मदद की। मैं आधे घंटे गुगली कर रहा था और इस समाधान का पता लगा रहा था ...
धर्मिक जूल

2
यह मेरे लिए भी काम किया। इस पर एक क्लास करना और उदाहरण प्रोजेक्ट गलत संस्करण में था।
छठी

11
  1. प्रोजेक्ट का चयन करें
  2. बिल्ड सेटिंगटैब का चयन करें
  3. स्विफ्ट कंपाइलर भाषा विकल्प चुनें

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


10

यहां छवि विवरण दर्ज करेंछवि के अनुसार फली का चयन करें और स्विफ्ट भाषा संस्करण बदलें, इससे आप एक दिन बचा सकते हैं

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


7

ऐसा लगता है कि ऐप में आपके मामले में स्विफ्ट 3.0 जैसा एक पुराना स्विफ्ट संस्करण कोड हो सकता है। Xcode संस्करण की रिलीज में 10.2 ने स्विफ्ट 5.0 संस्करण लॉन्च किया है। Xcode 10.2 स्विफ्ट 3.0 संस्करण के लिए संकलक का समर्थन नहीं करता है। आप संकलक से बदल सकते हैं Build Settings -> Swift Compiler - Language -> Swift Language Version -> Change it to Swift 5। यदि आपका कोड उस भाषा संस्करण के साथ संगत है तो वह बिना किसी त्रुटि के कोड चलाएगा।

हालाँकि, स्विफ्ट 3 संगतता मोड स्विफ्ट 5 कंपाइलर में समर्थित नहीं होगा। स्विफ्ट 4.2, स्विफ्ट 3 मोड का समर्थन करने के लिए स्विफ्ट की अंतिम रिलीज है। स्विफ्ट 3 की रिलीज के बाद भाषा की सतह और इसके कार्यान्वयन के इंटीरियर में महत्वपूर्ण बदलाव होते हैं जो भविष्य (और स्थायी) स्रोत और बाइनरी स्थिरता का आधार होगा।

अधिक जानकारी के लिए नीचे दिए गए लिंक का संदर्भ लें। https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2

यदि आप वास्तव में ऐप को चलाना चाहते हैं, जिसमें पुराने स्विफ्ट संस्करण कोड हैं, तो आपको Xcode के पुराने संस्करण का उपयोग करना होगा। आप Xcode संस्करण 10.1 का उपयोग कर सकते हैं, यह Swift 3.0 संस्करण के लिए समर्थन करने वाला कंपाइलर है।

एक अन्य वैकल्पिक तरीका यह है कि आप अपने पुराने स्विफ्ट कोड को स्विफ्ट संस्करण के नए संस्करण में स्थानांतरित करें। आप Xcode 10.1 वर्जन में स्विफ्ट 3.0 से स्विफ्ट 4.0 में माइग्रेट कर सकते हैं।

माइग्रेशन गाइड के लिए यह देखें https://swift.org/migration-guide-swift4/


5

कोकोपोड विकसित करते समय मैं इस मुद्दे पर आया था। .swift-versionमेरे रेपो में एक पुरानी फाइल थी जिसमें स्विफ्ट 3.0 थी।

दौड़ने से pod lib lint --verboseमुझे इस उपयोगी प्रतिक्रिया का सामना करना पड़ा:

कृपया उस .swift-versionफ़ाइल को हटा दें जो अब पदावनत है और केवल swift_versionअपने पॉडसेक के भीतर विशेषता का उपयोग करें ।

मैंने फ़ाइल को हटा दिया और spec.swift_version = '5.0'समस्या को ठीक करने के लिए अपनी पॉडस्पीक फ़ाइल में जोड़ा ।


5
  1. इसकी जांच करें:
    1. प्रोजेक्ट के नाम पर क्लिक करें
    2. लक्ष्य पर क्लिक करें
    3. बिल्ड सेटिंग पर क्लिक करें
    4. स्विफ्ट भाषा संस्करण में: स्विफ्ट 4 चुनें

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

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


4

मैंने फ़ाइल खोली MyProject.xcodeproj (VSCode संपादक का उपयोग करके)

और मुझे कुछ लाइनें मिलीं

SWIFT_VERSION = 3.0;

(लगभग 400 लाइन पर जहां यह कहता है /* Begin XCBuildConfiguration section */)

SWIFT_VERSION = 5.0 या अन्य को संशोधित करें। उसके बाद मैं प्रोजेक्ट बनाने और चलाने में सक्षम था।


3

स्विफ्ट और डबल क्लिक के लिए खोजें, फिर प्रत्येक ऑफ़ेंडिंग संस्करण को बदलें।

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


1

यदि आपने कई पॉड फाइल्स जैसे कि मैंने किया है और आपको SWIFT_Version = 3.0 के साथ पॉड ढूंढने में परेशानी हो रही है, तो सर्च बार ट्राई करें


0

1) पॉडफाइल पर पॉड का संस्करण बदलें (क्योंकि लाइब्रेरी ने पुराना स्विफ्ट संस्करण लिखा है)

2) टर्मिनल पर "पॉड इंस्टॉल"


0

मैं iOS के विकास में नया हूं। उपरोक्त सभी उत्तरों का अनुसरण करने के बाद भी मुझे वही त्रुटि मिली। मैं Xcode 11 का उपयोग कर रहा था और मैंने Apple डेवलपर वेब साइट से " FoodTracker " नमूना डाउनलोड किया और इसे बनाने की कोशिश करने के बाद मुझे वही त्रुटि मिली। मैंने पाया कि परियोजना में VIM प्रोजेक्ट फ़ाइल सामग्री के बाद स्विफ्ट भाषा संस्करण की चर्चा करते हुए परियोजना की कई सेटिंग्स हैं। इसलिए, मैंने पहले "प्रोजेक्ट> फूडट्रैकर", और "टैरेस> फूडट्रैकर" और "टैर्गेट्स> फूडट्रैकर" स्विफ्ट लैंग्वेज वर्जन को 5.0 पर सेट करके इसे हल किया । आशा करता हूँ की ये काम करेगा।

परियोजना और सभी लक्ष्य पर स्विफ्ट भाषा संस्करण की स्थापना


-1
  1. MyProject.xcodeproj / project.pbxproj को संपादक में खोलें (eq Sublime)

उदाहरण कैलक्यूलेटर.xcodeproj

  1. सभी SWIFT_VERSION = 3.0 का नाम बदलें; सभी SWIFT_VERSION = 5.0 का नाम बदलें;

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

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