Ich versuche, zwei Versionen meiner iPhone-Anwendung im selben XCode-Projekt zu haben.
Die Codebasis ist fast gleich und wo ich verschiedene Verhaltensweisen haben muss, habe ich mich entschieden, die Präprozessor-Bedingungen und das ${TARGET_NAME}
-Tag zu verwenden.
Ich habe OTHER_CFLAGS
auf " -DTARGET_NAME=${TARGET_NAME}
" gesetzt.
Dann habe ich in meinem Code versucht,
zu tun %Vor% Leider bekomme ich immer "lite" ausgedruckt, da TARGET_NAME == myApp
immer wahr ist: da TARGET_NAME
definiert ist. Ich kann nicht für das Leben von mir herausfinden, wie man diesen Schnurvergleich auswertet.
Irgendeine Idee?
Danke im Voraus
Sie können Zeichenfolgen wie diese in einem #if
-Block nicht vergleichen. Fügen Sie stattdessen die Definitionen zu jedem spezifischen Ziel hinzu. Öffnen Sie zum Beispiel auf dem Ziel der Vollversion das Info-Fenster und gehen Sie zum Build-Tab und fügen Sie der% code_% -Build-Einstellung etwas wie FULL_VERSION
hinzu. Geben Sie dann für das Lite-Ziel etwas wie GCC_PREPROCESSOR_DEFINITIONS
ein. In Ihrem Code können Sie Folgendes tun:
Tatsächlich können Sie den Namen des Ziels erhalten, um ihn zu vergleichen, aber dies wird nicht unnötigen Code von anderen Zielen zur Kompilierzeit überspringen, um dies zu tun:
Gehen Sie zuerst zum Menü Produkt - & gt; Schema - & gt; Schema bearbeiten ... (oder CMD + & lt;) Fügen Sie dann im Abschnitt arguments innerhalb von Umgebungsvariablen Folgendes hinzu:
In deinem Code kannst du den Namen des Ziels wie folgt erhalten:
%Vor%Sie können diese Zeichenfolge jetzt in Runtime vergleichen.
Aber folgen Sie Ihrem Beispiel: Wenn Sie möchten, dass der gesamte Pro-Versionscode zum Zeitpunkt der Kompilierung ausgelassen wird. Du solltest tun was @ jason-coco sagt. Und gehen Sie in Build-Einstellungen zu Präprozessor-Makros und fügen Sie dort $(TARGET_NAME)
hinzu:
Der Code innerhalb der # define wird kompiliert und ausgeführt, wenn mein Ziel "MLBGoldPA"
ist %Vor%Damit Ihre bedingte Auswertung funktioniert, müssen Sie Folgendes tun:
%Vor%vorher, wie in Ihrer _Prefix.pch Datei.
Tags und Links iphone xcode preprocessor