Kompilieren Sie verschiedene Dateien für das Gerät / den Simulator in XCode

8

Ich schließe eine Bibliothek von Drittanbietern (Quellen) mit meiner statischen Bibliothek ein. Es ist nur für das Gerät gedacht (da es einige ARM-Assembly-Routinen enthält) und ich möchte es nicht für den Simulator erstellen (ich möchte nur, dass meine App dort kompiliert wird, damit ich die GUI testen kann).

  • Das Erstellen eines anderen Ziels für den Simulator ist keine Option, da meine Projekte auf meine Bibliothek als Abhängigkeit verweisen und es ein Albtraum wäre, sie zu pflegen.
  • Das Hinzufügen von #if (TARGET_OS_IPHONE) für diese Dateien ist ebenfalls nicht möglich, da dies nicht meine Originalquellen sind und ich sie gerne für Updates aktualisieren würde (es gibt mehr als 200 Dateien dort und ich kann sie nicht ändern) alle von ihnen)

Ich suche nach einem Weg (ähnlich wie #if (TARGET_OS_IPHONE) in Quelldateien), der von der IDE selbst funktioniert (damit ich eine Datei vom eigentlichen Build-Prozess basierend auf meiner Zielarchitektur ausschließen kann). Das einzige, was ich gefunden habe, ist eine Option zum Ausschließen / Einschließen einer Datei von einem Ziel - aber nicht für eine bestimmte Architektur.

Gibt es eine Möglichkeit, Architekturbedingungen für bestimmte Dateien festzulegen?

    
Gilad Novik 01.12.2011, 20:13
quelle

1 Antwort

1

Am besten wäre es, die Bibliothek der dritten Partei in ein neues Ziel zu zerlegen, das sie als statisches Framework aufbaut. Legen Sie es als eine Abhängigkeit für Ihr Projekt fest, und legen Sie dann fest, dass das statische Framework wie von Apple hier beschrieben bedingt verknüpft ist: Ссылка

Sie können ein neues Ziel hinzufügen, indem Sie das Projekt im Projektnavigator auswählen und dann auf die Schaltfläche Ziel hinzufügen am unteren Rand des Editorfensters klicken. Sie können eine statische CacaoTouch-Bibliothek einrichten und dann die entsprechenden .m- oder .c-Dateien zuweisen, um nur zu diesem Ziel zu gehören. Wählen Sie dann das Ziel Ihrer App aus und fügen Sie das statische Framework im Abschnitt "Zielabhängigkeiten" auf der Registerkarte "Build Phases" hinzu.

    
Shinohara 07.12.2011, 22:24
quelle