Comment #define basé sur la version iOS?

J'ai un Constants.h fichier dans mon application, où je #define application à l'échelle de choses pour un accès facile plus tard. Je vais avoir un moment difficile, cependant, #defineing basé sur la version iOS. Voici ce que j'ai essayé:

#ifdef __IPHONE_7_0

#define kHamburgerImage [UIImage imageNamed:@"reveal_menu_icon_portrait_ios7.png"];

#else

#define kHamburgerImage [UIImage imageNamed:@"reveal_menu_icon_portrait.png"];

#endif

Juste parce qu'il dit iOS 7, il ne signifie pas que c'est en vertu de la LDN, O ferme!

Qui fonctionne très bien - pour iOS 7. Quand je lance mon appli sur iOS 6, en revanche, la #define est encore l'iOS 7 - il semble que la #ifdef est jamais pris en compte.

Que puis-je faire pour résoudre ce problème?

Vous ne pouvez pas faire cela. La version iOS doit être un moteur d'exécution de décision, pas un moment de la compilation de décision.
Désolé! Je suppose que ça ne fonctionne pas - il travaille pour le code, mais pas #définit...
Droit, sauf si vous faites cela pour être en mesure de générer le code à deux différentes versions de Xcode, vous devez utiliser l'exécution des contrôles, pas le temps de compilation des contrôles. Les deux #if et #define sont la compilation des fonctionnalités.

OriginalL'auteur Undo | 2013-07-24