У меня была одна и та же проблема, и TARGET_IPHONE_SIMULATOR
, и TARGET_OS_IPHONE
всегда определены и установлены на 1. Решение Пита, конечно, работает, но если вам когда-нибудь случится использовать что-то отличное от intel (вряд ли кто знает), вот что безопасно, если аппаратное обеспечение iphone не изменится (т. е. ваш код всегда будет работать на iphone, который там есть):
#if defined __arm__ || defined __thumb__
#undef TARGET_IPHONE_SIMULATOR
#define TARGET_OS_IPHONE
#else
#define TARGET_IPHONE_SIMULATOR 1
#undef TARGET_OS_IPHONE
#endif
Поместите это в удобное место, а затем представьте, что константы TARGET_*
определены правильно.