Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS: optional code fragments for debug builds

for my App I'd like to have a debug view that I want to have only in debug-builds and not in release builds. I don't want to change my code though. Thats why i am wondering if I can check some compiler flag if this is a release build and exclude some code that i only want to have for debug builds.

like image 398
Jakob Avatar asked Jan 31 '12 14:01

Jakob


2 Answers

In your projects build settings, look for the preprocessor defines section, in there you can define a variable in your debug build only, such as DEBUG=1, and then use this in your code:

#if DEBUG
    NSLog(@"This will only print in debug!");
#endif

Just make sure in your release configuration, that same define is set to 0 in the same location in your build settings

like image 191
Dan F Avatar answered Oct 11 '22 08:10

Dan F


Check your projects build settings for debug to ensure that 'DEBUG' is being set - Apple gives you this for free - do this by selecting the project and clicking on the build settings tab. Search for 'DEBUG' and look to see if indeed DEBUG is being set.

Build Settings tab of my project settings

then conditionally code for DEBUG in your source files

#ifdef DEBUG

// Something to log your data here or even add a whole subview to see it on the device

#else

// 

#endif
like image 43
Damo Avatar answered Oct 11 '22 08:10

Damo