Is there a compiler directive I can use to compile a different line of code when targetting the simulator as opposed to my device. Something like:
# IF SIMULATOR
For those looking for a modern Swift solution, the (new) platform condition targetEnvironment
provides the definitive answer here. For instance:
#if targetEnvironment(simulator)
self.imagePicker.sourceType = .photoLibrary
#else
self.imagePicker.sourceType = .camera
#endif
The target environment platform condition feature was introduced by SE-0190 and is available since Swift 4.1.