Fabrizio Bartolomucci Fabrizio Bartolomucci - 1 month ago 7
Swift Question

Conditional exclusion of code in Swift

I am trying to exclude some parts of a Swift file for a specific target. Yet I did not find any replacement of the #ifndef objective-c directive and moreover if I use a form of the kind:

#if taxi_coops
func pippo(){
println("pippo");
}
#else
func triggerActiveLocationUpdate(entering:Bool){}
#endif


The preprocessor totally ignores the directive and tries to compile triggerActiveLocationUpdate. Please note the #if taxi_coops directive is respected in other parts of the same file.

Is there some way to simply exclude some pieces of code in Swift and/or why my fix does not work?

Answer

The issue was about replicating the configuration in the Other Swift Flags file in the form

-D option

Apparently Swift ignores the flags in the preprocessor field. Now it accepts ||, && and ! without any problem with syntax:

#if option || !option2
......
#elseif option3
......
#endif
Comments