में NSLog को सक्षम और अक्षम करें, जब मैं डीबग में हूं और इसे अन्यथा अक्षम करता हूं तो मैं NSLog को सक्षम करना चाहता हूं। एक बहुत ही सरल बात है:DEBUG मोड
#ifdef DEBUG
NSLog(@"My log");
#endif
लेकिन सभी इस #ifdef
और #endif
तो मैं दूसरी बात यह कोशिश है borring ... :(:
#ifdef DEBUG
# define NSLog(text) NSLog(text);
#else
# define NSLog(text)
#endif
यह (.pch अच्छा यह डाल करने के लिए जगह है) काम बहुत ठीक मैं यह कैसे पूर्वप्रक्रमक मोड में काम करने के लिए हल (पुनरावर्ती नहीं है)। लेकिन समस्या यह है NSLog अनंत तर्क है कि है।
void NSLog(NSString *format, ...)
?
- संपादित करें -
यह कोड आपके NSLog बेहतर बनाने:
#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(...)
#endif
+1। इस विषय पर http://mobile.tutsplus.com/tutorials/iphone/customize-nslog-for-easier-debugging/ –
पर इस विषय पर एक पूर्ण पुन: प्रयोज्य घटक मैं लिंक में मार्गदर्शिका का पालन करता हूं। लेकिन मुझे निम्नलिखित संकलन त्रुटि मिली: ** आर्किटेक्चर के लिए अनिर्धारित प्रतीक x86_64: ld: आर्किटेक्चर के लिए प्रतीक नहीं मिला x86_64 क्लैंग: त्रुटि: लिंकर कमांड निकास कोड 1 के साथ विफल रहा (उपयोग -v आमंत्रण देखने के लिए) ** कृपया @MahbuburRAaman – Gon
@ गॉन, त्रुटि ** आर्किटेक्चर x86_64 के लिए अपरिभाषित प्रतीकों की सहायता करें: ld: वास्तुकला x86_64 ** के लिए नहीं मिला प्रतीक कई कारणों से प्रकट होता है। उदाहरण के लिए, लापता लाइब्रेरी या अन्य मामलों के लिए, निम्नलिखित SO संसाधन http://stackoverflow.com/questions/18408531/xcode-build-failure-undefined-symbols-for-architecture-x86-64, http: //stackoverflow.com/questions/11996227/undefined-symbols-for-architecture-x86-64-in-objective-c, http://stackoverflow.com/questions/6231368/objective-c-undefined-symbol-compilation- त्रुटि। –