2012-07-16 6 views
7

मैं आईओएस 5.1 के लिए MGSplitViewController अद्यतन कर रहा हूं, और मैं बहिष्कृत उद्देश्य-सी विधियों के उपयोग के बारे में चेतावनी देना चाहता हूं। दुर्भाग्य से, MGSplitViewController आईओएस 3.2 का समर्थन करता है, इसलिए मैं सभी बहिष्कृत कॉलबैक का समर्थन करना चाहता हूं, लेकिन उनके बारे में चेतावनियों को अनदेखा करता हूं।बहिष्कृत उद्देश्य-सी कार्यान्वयन के उपयोग के बारे में क्लैंग की चेतावनियों को मैं अनदेखा कैसे कर सकता हूं?

मैं के बारे में चेतावनी सक्रिय कर दिया है "पदावनत अधिभावी उद्देश्य सी के तरीके" (CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS) अपने लक्षित निर्माण सेटिंग्स में, लेकिन मैं इसे

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS" 

- (void) deprecated_objc_method_override { 
} 

#pragma clang diagnostic pop 

उत्तर

18

CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS साथ नजरअंदाज नहीं कर सकते -Wdeprecated-implementations से मेल खाती है, जो Xcode नहीं करता है अपने "त्वरित सहायता" क्षेत्र में नहीं दिखाया गया है। तो निम्न कार्य:

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "-Wdeprecated-implementations" 

- (void) deprecated_objc_method_override { 
} 

#pragma clang diagnostic pop 
+2

एक अन्य विकल्प है, वास्तव में स्रोत को संशोधित करने के लिए चाहते थे नहीं किया जा सकता है, चेतावनी को बंद करने के लिए जब विशिष्ट फ़ाइलों संकलन (उन है कि MGSplit वर्गों को लागू की तरह, जैसे उन कार्यान्वयन फ़ाइलों के लिए संकलक झंडे गुजर रहा है। उदाहरण के लिए '-Wno-पदावनत-implementations' –

6

संबंधित deprecated-declarations ध्वज भी संबंधित है। यह चेतावनी देता है जैसे "foo 'को बहिष्कृत किया गया है: पहले ओएस एक्स 10.10 में बहिष्कृत - इसके बजाय -bar का उपयोग करें"।

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "-Wdeprecated-declarations" 

    : 

#pragma clang diagnostic pop 
संबंधित मुद्दे

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