Preprocessor ifdef does not hide the code blocks in an Objective C framework

273 Views Asked by At

I am working on an Objective C framework and we want to hide some debug related methods in our release version. I thought using #ifdef DEBUG can easily server for that purpose, so put the debug related method in a #ifdef block:

#ifdef DEBUG
+(void)unregisterDevice OBJC_VISIBLE;
#endif

The above code block shows up exactly, in the aggregated framework when I build it with either of our Debug, or Release targets! I thought, the compiler would remove #ifdef and #endif when DEBUG is defined and will hide the whole block when DEBUG is not defined. Would you please help me resolve this issue?

0

There are 0 best solutions below