9
निष्क्रिय करने के लिए

मैं the solution found in this post की कोशिश की है फ़ाइलें AFNetworking में एआरसी निष्क्रिय करने के लिए काम नहीं कर रहा है, लेकिन कोई लाभ नहीं हुआ:-fno-ObjC-चाप एआरसी

enter image description here

कोई भी विचार मैं कहाँ नाकाम रहने रहा हूँ? स्पष्ट रूप से बेहतर उत्तर बेहतर है। मैंने यह भी पढ़ा है कि स्थैतिक पुस्तकालय बनाने में मदद मिल सकती है, लेकिन यह जटिल लगता है।

मैं और स्वच्छ व्युत्पन्न डेटा को हटाने और बिल्ड और को पुन: प्रारंभ Xcode की कोशिश की है संपादन। कोई सौदों :(।

इसके अलावा, वहाँ मेरी कार्यक्षेत्र में कोई अन्य परियोजनाओं कर रहे हैं।

+1

परेशान। यह काम करना चाहिए जैसा कि यह है। मैं व्युत्पन्न डेटा हटा दूंगा और एक्सकोड को पुनरारंभ करूंगा (यह मूर्खतापूर्ण है लेकिन एक्सकोड sillier है)। – Jano

+0

हो सकता है कि आप एक लक्ष्य के लिए झंडे सेट करें और दूसरा निर्माण करें? – lawicko

+0

यह आपके एक्सकोड मुद्दे का उत्तर नहीं देता है, लेकिन हमारी टीम ने हाल ही में निर्भरताओं का प्रबंधन करने के लिए [कोकोपोड्स] (http://cocoapods.org/) का उपयोग शुरू किया है, और यह हमें बहुत समय बचाता है। आपकी परियोजनाओं में एएफनेटवर्किंग के निर्माण के लिए एक कल्पना है, हालांकि मैंने AFNetworking का उपयोग नहीं किया है। –

उत्तर

16

अजीब बात है। मैं कुछ फेसबुक फ़ाइलों को -fno-objc-arc झंडा और परियोजना के अंत में बनाया जोड़ने की कोशिश की। मुझे लगता है कि सबक है कि यहाँ है जब Xcode त्रुटियों के इन प्रकार उत्पन्न करता है, समस्या के स्रोत एक और फ़ाइल में हो सकता है। यह विशेष रूप से सच हो सकता है अगर Xcode कि आप पहले से ही चिह्नित कर दिया है एक फ़ाइल के बारे में शिकायत कर रहा है!

enter image description here

उम्मीद है कि यह होगा किसी की मदद करने के लिए :)।

+3

मुझे एक ही समस्या है। आप कैसे जानते थे कि यह एफबी फाइलें थीं जिससे समस्या हुई? – Jason

2

असल में समस्या सरल है। सुनिश्चित करें कि -fno-objc-arc ध्वज के बाद कोई कैरिज रिटर्न नहीं है जिसे आपने कंपाइलर झंडे संवाद में दर्ज किया है।

+0

बिल्कुल सही। मेरी समस्या बिल्कुल – malaki1974

+0

कूल चैप! वह काम करता है और +1 –

0

एक ही समस्या थी लेकिन आपत्तिजनक फ़ाइल (ब्रोटो के समाधान में) को खोजने में असमर्थ थी। तो बस निम्नलिखित #if बयान ब्लॉक में गैर चाप शिकायत कोड के टुकड़े लिपटे:

#if !(__has_feature(objc_arc)) 

//...non-arc code 

#endif 
0

मैं Refactor में गैर-एआरसी फ़ाइलें अनचेक करके मेरी मुद्दों को ठीक करने में सक्षम था -> ऑब्जेक्टिव-सी एआरसी में बदलें मोडल। भले ही फाइलें 'fno-objc-arc' ध्वज के कारण पहले से ही अलग हो रही थीं। एक बार जब मैंने फ़ाइलों को अनचेक कर दिया, तो एक्सकोड ने बेहतर त्रुटियों को थूकना शुरू कर दिया जिससे मुझे उन फ़ाइलों को ढूंढने की इजाजत मिली जिन्हें कुछ फिक्सिंग की आवश्यकता थी। उन परिवर्तनों के बाद, मैं जाने के लिए अच्छा था।

1

मैं इस स्थिति में .m फ़ाइल से #imported.m फ़ाइल प्राप्त करने में कामयाब रहा जो कि एआरसी अनुपालन नहीं था। संकलक शामिल फ़ाइल के बारे में शिकायत करता है, जिसे -fno-objc-arc टैग किया जा सकता है। मुझे .m को ध्वजांकित करना था जो शामिल था।

मैं ऐसा न करने पर निर्माण उत्पादन के विस्तार और कच्चे लॉग जो फ़ाइल है कि (चेतावनी में एक से भिन्न हो) को संकलित करने में विफल रहा था पता चला को देखकर इस खोज की।

मैं भी ली गई डेटा फ़ाइल को हटाने की जरूरत है।

3

"ऑब्जेक्टिव-सी एआरसी में बदलें" एक कोड को फिर से लिखने उपकरण, दूसरे हाथ पर -fno-ObjC-चाप एक संकलन समय झंडा है। यह refactoring के उद्देश्य के लिए बस अप्रासंगिक है।

इससे पहले कि आप क्लिक करें "जाँच", लक्ष्य व्यय और फ़ाइलों को आप एआरसी से मुक्त रखना चाहते हैं का चयन हटाएं।

4

बस एक छोटे से अतिरिक्त संकेत:

आप अपने प्रोजेक्ट की जांच में कई लक्ष्यों है, तो अगर आप उन सभी को संकलक झंडा -fno-objc-arc गयी।