Macro en Objective-C llamando isEqualToString: produce un error sobre un token no válido

Estoy tratando de definir una macro como esta:

#define SOME_DEF [[TTys getString] isEqualToString:ANOTHER_STRING]

y luego haciendo lo siguiente:

#if SOME_DEF
...
#endif
[TTys getString] devuelve un NSStringANOTHER_STRING se define anteriormente como#define ANOTHER_STRING "hello"

Me sale el siguiente error en el#if SOME_DEF línea:

Token no válido al inicio de una expresión de preprocesador

Basado en estoSO pregunta Esto puede ser causado por algo que no se puede resolver en tiempo de compilación, pero tengo todo definido. Mi sospechoso es elisEqualToString método, pero no sé de otra manera de hacer esto.

Respuestas a la pregunta(1)

Su respuesta a la pregunta