2010-07-16 22 views

risposta

14

__IPHONE_OS_VERSION_MIN_REQUIRED è impostato sulla destinazione di distribuzione, che rappresenta la versione che l'utente deve eseguire in minima parte per installare l'app. __IPHONE_OS_VERSION_MAX_ALLOWED è impostato sulla versione SDK che si sta compilando, anche se ciò non significa che l'app non verrà eseguita sulle versioni più recenti, ma è possibile utilizzarla per verificare se alcune funzionalità del sistema operativo sono disponibili.

Ad esempio, dal momento che iOS 3.2 abbiamo la classe UIBezierPath. Se stai compilando l'SDK 3.1 (per testarlo presumibilmente su iPhone Simulator), questa nuova classe non è disponibile, quindi il compilatore ti avviserà che la classe non esiste. Giusto, ma non vogliamo commentare quel codice specifico ogni volta che lo costruiamo contro il vecchio SDK, solo per un test del simulatore. Vogliamo solo nascondere questi blocchi di codice e ciò è reso possibile da quelle macro.

Leggere per favore this article on Cocoa with Love per ulteriori spiegazioni, suggerimenti e trucchi.

+0

Ma per quanto riguarda __IPHONE_OS_VERSION_MAX_ALLOWED (non "_REQUIRED")? – cocoapriest

+0

Whoop, intendevo MAX_ALLOWED, non c'è alcun MAX_REQUIRED definito. – Joost

+0

@Joost Non riesco a pensare a un caso pratico per questi 2 macro – onmyway133

Problemi correlati