Xcode में, विशिष्ट स्रोत फ़ाइलों में सभी चेतावनियों को कैसे दबाएं?


137

अपने आवेदन में मैं 3 पार्टी कोड का उपयोग करता हूं जो कुछ चेतावनियों को ट्रिगर करता है। मैंने उनकी समीक्षा की और उन्हें सुरक्षित रूप से अनदेखा किया जा सकता है।

अब मैं किसी भी तरह एक फ़ाइल को "चिह्नित" करना चाहता हूं, इसलिए Xcode उस फ़ाइल में कोड के लिए कोई चेतावनी नहीं दिखाएगा।

मैं कैसे करूं?

जवाबों:


277

अपना लक्ष्य चुनें और बनाएँ चरण दिखाएं। फिर खोज बॉक्स में फ़ाइल का नाम दर्ज करें, और आपको इसे संकलन सूत्रों के चरण में सूचीबद्ध देखना चाहिए। कंपाइलर फ्लैग्स कॉलम में उस फ़ाइल के लिए डबल-क्लिक करें और -wउस फ़ाइल के लिए सभी चेतावनियों को बंद करने के लिए दर्ज करें।


9
हम्म, मुझे -wसभी चेतावनियों को बंद करने की उम्मीद थी, लेकिन शायद नया कंपाइलर उस पर ध्यान नहीं देता। उस स्थिति में, व्यक्तिगत चेतावनियों को बंद कर दें। बिल्ड सेटिंग्स में प्रश्न के बारे में चेतावनी का पता लगाएं, और यूटिलिटीज़ दृश्य में त्वरित सहायता दिखाएं। आपको -Wname-of-warningसिंटैक्स के साथ विवरण देखना चाहिए । नाम के लिए "नहीं-" को प्राथमिकता दें और कंपाइलर फ्लैग्स में निर्दिष्ट करें। उदाहरण: -Wunused-parameterनिर्दिष्ट बंद करने के लिए-Wno-unused-parameter
जॉन रिड

14
यह पता चला है कि यह सब संकलक-निर्भर है। मेरा मतलब है, एक परियोजना में जो एलएलवीएम जीसीसी संकलक का उपयोग -wकरता है वह चाल करता है और अन्य परियोजना में जो सादे जीसीसी संकलक -Wno-name-of-warningका उपयोग करता है वह जाने का एकमात्र तरीका है।
बोब्रोव्स्की

6
संकेत के लिए धन्यवाद, मेरे लिए भी काम किया ( -wऔर LLVM)। जब आप थर्डपार्टी फ़ाइलों को शामिल करते हैं, तो आप संशोधित करने के लिए नहीं भटकते हैं।
user826955

1
@Zammbi चूंकि कोड स्वतः-जनरेट किया गया है, इसलिए इसे चेतावनी से मुक्त कोड उत्पन्न करने के लिए ठीक करें। यदि आप ऐसा नहीं कर सकते हैं, तो कंपाइलर ध्वज को सेट करने के लिए Xcode प्रोजेक्ट को ऑटो-पैच करें।
जॉन रीड

11
Xcode 7.0 और Apple LLVM 7.0 का उपयोग करके स्विफ्ट 2 के साथ काम नहीं करता है
राजा-जादूगर

6

प्रोजेक्ट को लेफ्ट नेवीगेटर में सिलेक्ट करें और टारगेट टू बिल्ड टू वील पुट -w इन बिल्ड फेस ऑफ टार्गेट फाइल। यह सभी संकलक चेतावनी को छिपाएगा यहां छवि विवरण दर्ज करें


17
Xcode 7.0 और Apple LLVM 7.0 का उपयोग करके स्विफ्ट 2 के साथ काम नहीं करता है
किंग-विजार्ड

2
एक विदेशी संकलक के लिए क्लैंग संकलक झंडे पास करना काम नहीं करता है। आश्चर्य चकित ... गूगल स्विफ्ट संकलक के लिए चेतावनी ध्वज और इसके बजाय जोड़ें।
जेरिको

4

यह Xcode 10.2+ और स्विफ्ट 5 के लिए काम करता है

मैनुअल फिक्स:

-w -Xanalyzer -analyzer-disable-all-checksXcode> प्रॉजेक्ट> टारगेट> कंपाइल सोर्स> से समस्याग्रस्त फाइल में जोड़ें। उस फाइल पर क्लिक करें, जहाँ आप चेतावनियाँ बंद करना चाहते हैं।

कोकोपोड्स फिक्स:

यदि आप समस्याग्रस्त पॉड से चेतावनी को दबाने की कोशिश कर रहे हैं, तो आप inhibit_warningsअपने पॉडफाइल में ध्वज के साथ निर्भरता से स्वचालित रूप से सभी चेतावनियों को दबा सकते हैं :

pod 'Kingfisher', '~> 4.6', :inhibit_warnings => true

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


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