Compilación condicional en código de ensamblador (.s) para iPhone: ¿cómo?

Tengo unas pocas líneas de código de brazo de ensamblador en un archivo .s. Sólo unas pocas rutinas que necesito llamar. Funciona bien cuando se construye para el dispositivo, sin embargo, cuando cambio al Simulador de iPhone obtengo errores de "no hay tal instrucción". Intenté compilar partes del archivo .s de forma condicional con lo que sé:

#if !TARGET_IPHONE_SIMULATOR

Pero el ensamblador no reconoce estas directivas de preprocesador (por supuesto) y ninguna de las técnicas de compilación condicional para el ensamblador que podría recordar o encontrar funcionando, así que ahora me estoy rascando la cabeza sobre cómo evitar la compilación de ese código del ensamblador cuando construyo para el simulador. Tampoco veo una opción de proyecto en Xcode que me permita compilar el archivo o no dependiendo de la plataforma de destino.

Resuelto:

Todo lo que faltaba era la #importación correcta en el archivo del ensamblador. No pensé en agregarlo porque la sintaxis de Xcode resaltó cualquier directiva de preprocesador en verde (comentario), lo que me hizo suponer que estos comandos no se reconocen cuando, de hecho, funcionan bien.

Esto funciona:

#import "TargetConditionals.h"

#if !TARGET_IPHONE_SIMULATOR

... asm code here ...

#endif

Respuestas a la pregunta(2)

Su respuesta a la pregunta