AFAIK, #ifdef = "если определено" и #ifndef = "если не определено". Эти условия полезны, например, если вы хотите, чтобы определенный код компилировался только для симулятора, вы должны написать что-то вроде:
#if TARGET_IPHONE_SIMULATOR
#import "AccelerometerSimulation.h"
#endif
Это означает, что при компиляции для симулятора будет импортирован файл AccelerometerSimulation.h. Если вы компилируете устройство, оно полностью игнорируется. Надеюсь, это поможет.