Gibt es ein iPhone-Äquivalent von MAC_OS_X_VERSION_MIN_REQUIRED?

8

Ich möchte abhängig von der Version des SDK, für das ich kompiliere, Code für eine iPhone-App mit Vorbehalt hinzufügen. Unter Mac OS X gibt es den Präprozessor-Makro MAC_OS_X_VERSION_MIN_REQUIRED , der vom Compiler auf den Wert der Einstellung MACOSX_DEPLOYMENT_TARGET build gesetzt wird. Gibt es eine Entsprechung auf dem iPhone?

Aktualisierung:

Ich habe in den Build-Einstellungen IPHONE_DEPLOYMENT_TARGET auf 3.0 gesetzt, aber Xcode übergibt -D__IPHONE_OS_VERSION_MIN_REQUIRED=20000 und -mmacosx-version-min=10.5 an GCC. Sollte nicht die erste 30000 und die zweite -miphoneos-version-min=3.0 sein? Was mache ich falsch?

Update 2:

Sieht aus, als hätte ich nichts falsch gemacht. __IPHONE_OS_VERSION_MIN_REQUIRED und -miphoneos-version-min werden beim Erstellen für ein Gerät beide korrekt festgelegt - bei Verwendung des iPhone Simulator SDK ist es nur falsch. Ich denke, es ist ein Fehler im Simulator SDK.

    
Daniel Dickison 28.03.2009, 00:31
quelle

3 Antworten

12

Siehe Verfügbarkeit.h

%Vor%

usw.

Ссылка

    
cdespinosa 28.03.2009, 05:09
quelle
3

Es gibt Präprozessormakros, die für jede Version des Betriebssystems definiert sind. Zum Beispiel, wenn __IPHONE_OS_3_0 definiert ist, dann bauen Sie gegen das 3.0 SDK (oder möglicherweise später, ich bin nicht sicher).

    
Brent Royal-Gordon 28.03.2009 01:17
quelle
2

Wenn es ein solches Makro nicht gibt, ist es sinnvoll, zwei Build-Ziele zu erstellen. In einem davon fügen Sie die Build-Einstellung GCC_PREPROCESSOR_DEFINITIONS mit einem Wert wie IPHONE_OS_3 hinzu. Dann in Ihrem Code können Sie tun:

%Vor%     
Daniel Dickison 28.03.2009 01:04
quelle

Tags und Links