Ich versuche, eine POD-Spezifikation für ein vorhandenes Bibliotheksprojekt zu erstellen.
In dem Xcode-Projekt definieren die Build-Einstellungen verschiedene Präprozessormakros für verschiedene Build-Konfigurationen (z. B.: "Debug" und "Release")
Zum Beispiel:
Für die "Debug" Konfiguration:
GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1
Für die "Release" Konfiguration:
GCC_PREPROCESSOR_DEFINITIONS = NDEBUG NS_BLOCK_ASSERTIONS
Wie kann ich diese Einstellungen der entsprechenden POD-Spezifikation zuordnen?
Zum Beispiel:
spec.compiler_flags = '-DDEBUG=1'
und
spec.compiler_flags = '-DNDEBUG -DNS_BLOCK_ASSERTIONS'
Leider ist die offizielle Dokumentation im Allgemeinen meist verwirrender und unklarer, als wirklich hilfreich:
Build-Einstellungen
In dieser Gruppe werden die Attribute aufgeführt, die sich auf die Konfiguration der Build-Umgebung beziehen, die zum Erstellen der Bibliothek verwendet werden sollte.
Wenn in einem Subspec nicht definiert, erben die Attribute dieser Gruppe den Wert des Elternelements.
Beispiele:
spec.compiler_flags = '-DOS_OBJECT_USE_OBJC=0', '-Wno-format'
Intuitiv würde ich etwas wie folgt machen:
configuration :Debug do
spec.compiler_flags = '-DDEBUG=1'
end
configuration :Release do
spec.compiler_flags = '-DNDEBUG -DNS_BLOCK_ASSERTIONS'
end
Aber das ist nur geraten.