16

मैं एक फली के रूप में Cocoalumberjack स्थापित करने के लिए कोशिश कर रहा हूँ और इस त्रुटि हो रही है:कोको फली स्थापना त्रुटि: "लक्ष्य को ओवरराइड करता है SWIFT_VERSION की स्थापना का निर्माण"

:

The ProjectName [Release] target overrides the SWIFT_VERSION build setting defined in `Pods/Target Support Files/Pods-ProjectName/Pods-ProjectName.release.xcconfig'. This can lead to problems with the CocoaPods installation

फली xcconfig फ़ाइल इस में शामिल है

SWIFT_VERSION = 3.0 

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

xcrun swift -version

Apple Swift version 3.0 (swiftlang-800.0.46.2 clang-800.0.38)

हालांकि मैं विशेष रूप से एक SWIFT_VERSION Xcode के निर्माण सेटिंग में कहीं भी नहीं देख सकते हैं, और न ही अगर मैं Xcode के निर्माण सेटिंग में खोज शब्द के रूप स्विफ्ट में टाइप मैं कुछ भी कहीं भी है कि यहां तक ​​कि एक तेज संस्करण संख्या

तरह लग रहा है देख सकते हैं

अतिरिक्त रूप से पॉड स्थापना कहती है: "समस्या को हल करने के लिए $(inherited) ध्वज का उपयोग करें"। हालांकि मेरे एक्सकोड बिल्ड सेटिंग्स अन्य लिंकर झंडे में पहले से ही यह $ (विरासत) ध्वज है, तो यह समस्या को हल क्यों नहीं कर रहा है?

(Xcode 8)

+0

एक्सकोड 8 –

उत्तर

12

यह थोड़ा गैर सहज ज्ञान युक्त है, लेकिन आप क्या करना है:

1) अपनी परियोजना सेटिंग्स में "SWIFT_VERSION" के लिए खोज

2) आप कह एक प्रविष्टि दिखाई देगी "उपयोग विरासत स्विफ्ट भाषा संस्करण "

  • आप पहले से ही किसी भी मूल्य का चयन किया था अगर यह बोल्ड

3) प्रविष्टि का चयन करें (नहीं मूल्य में दिखाया जाएगा) और "हटाएं" दबाएं, साहस गायब होना चाहिए।

4) अपने लक्ष्य (एप्लिकेशन आइकन के साथ एक)

5) बंद XCode

6) रन के लिए एक ही चरण दोहराएँ, लेकिन अब

7 "फली स्थापित" फिर से) ओपन आपकी परियोजना, और स्वच्छ आईटी (शिफ्ट + कमांड + के)

अब यह सही तरीके से काम करना चाहिए।

नोट:

विशेष रूप से के लिए "Cocoalumberjack" सुनिश्चित करें कि आपके फली 3 स्थापित करने गया है।0+ संस्करण है, अगर इसकी यह करने के लिए पिछले संस्करणों स्विफ्ट के साथ काम नहीं करेंगे के रूप में एक "sudo फली अद्यतन" नहीं चला 3.

संपादित करें:

मैं यकीन है कि cocoapods इस बात का रख-रखाव कर रहा हूँ एक सा है इस समय छोटी गाड़ी, जैसा कि मैंने कभी अनुभव किया है यह काम करता है और दूसरों को यह नहीं करता है। हालांकि, ध्यान रखें कि आप प्रति फ्रेमवर्क आधार पर सीधे "SWIFT_VERSION" ध्वज सेट कर सकते हैं:

1) Pods प्रोजेक्ट (अपनी प्रोजेक्ट के भीतर) का चयन करें।

2) उस लक्ष्य का चयन करें जिसे आप सेट करना चाहते हैं और विशेष रूप से उस लक्ष्य के लिए "SWIFT_VERSION" ध्वज देखें।

3) स्वच्छ और पुनर्निर्माण।

+0

आपको यह समाधान कैसे मिला? बहुत बढ़िया!!! गजब का। 7-कदम निर्देश मेरे लिए काम करते थे। Lumberjack + स्विफ्ट + फली स्थापित करते समय हुआ। – nurxyz

1

आप किसी भी ओवरराइड "उपयोग विरासत स्विफ्ट भाषा संस्करण" को दूर अपने लक्ष्य से स्थापित करने का निर्माण करने की जरूरत है।

0

यह बिल्कुल मददगार नहीं है क्योंकि इसे हटाने का कोई तरीका नहीं है।

आप या तो मान का उत्तराधिकारी हैं, या आप एक मान असाइन करते हैं, और यूआईडी पर बनाए गए तरीके के कारण असाइनमेंट के बाद $ (विरासत) मान वापस पाने का कोई तरीका नहीं है (कुछ विकल्पों पर आपके पास "कस्टम" मान जहां आप इसे जोड़ सकते हैं, लेकिन सभी प्रकार के मानों पर नहीं)।

तो यह किसी वास्तविक समाधान के साथ एक मृत अंत है।

+0

पर मेरे लिए एक ही समस्या है हाँ, मेरा जवाब देखें। – Pochi

+0

हां, यह समस्या को ठीक करता है, यद्यपि इसके यूएक्स £ £ £ £ £ £ £ £ £ है। –

संबंधित मुद्दे