Macro na chamada de Objective-C isEqualToString: produz erro sobre o token inválido

Estou tentando definir uma macro como esta:

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

e, em seguida, faça o seguinte:

#if SOME_DEF
...
#endif
[TTys getString] retorna um NSStringANOTHER_STRING é definido anteriormente como#define ANOTHER_STRING "hello"

Eu recebo o seguinte erro no#if SOME_DEF linha:

Token inválido no início de uma expressão de pré-processador

Com base nissoPergunta SO isso pode ser causado por algo que não pode ser resolvido em tempo de compilação, mas tenho tudo definido. Meu suspeito é oisEqualToString método, mas não conheço outra maneira de fazer isso.

questionAnswers(1)

yourAnswerToTheQuestion