2012-09-26 7 views
8

Ich habe ein neues Projekt in XCode gestartet, indem ich einen vorhandenen Ordner dupliziert habe, da meine neue App viele Gemeinsamkeiten mit der alten haben wird.Einige Dateien im XCode-Projekt durch Kompilierung deaktivieren

Das Problem ist, dass die neue App kein Framework verwenden wird, das ich in der alten App verwendet habe. Wenn ich das Framework gelöscht habe, haben natürlich alle Dateien einschließlich dieses Frameworks Fehler verursacht.

Grundsätzlich möchte ich alle Syntaxprüfungen, Abhängigkeitsprüfungen usw. auf vielen Dateien deaktivieren. Ich möchte, dass XCode diese Dateien ignoriert, obwohl sie sich in der Projektnavigation befinden. Später, wenn ich sie überarbeite, werde ich sie manuell wieder aktivieren. Auf diese Weise kann ich meine kleinen Änderungen für Fehler kompilieren und testen, ohne alle Fehler zu beheben, die es in den "nicht überarbeiteten" Dateien verursacht, die ich in der Zukunft sowieso beheben werde.

Ich könnte sie aus dem Projektbaum löschen und sie dann wieder einzeln hinzufügen, wenn mein Job fertig ist, aber ich möchte das nicht machen, weil mein Projektbaum durcheinander geraten könnte und es wirklich einen anderen Weg geben sollte dies erreichen.

Ich habe versucht, diese Dateien aus allen Zielmitgliedschaften zu entfernen, aber es hat nicht geholfen.

Vielen Dank im Voraus.

+0

Haben Sie Glück dabei? – Des

Antwort

0

Wie schmutzig Hack Sie versuchen, Dateien nicht ausschließen können, aber seinen Code durch #ifdef NotCompile + #endif mit, wie es in C \ C++ mit .h getan \ mit dem Hinzufügen von #define NotCompile in IhrProjekt-prefix.pch Entfernen

17

Wenn Sie entfernen müssen Bei vielen Dateien können Sie benutzerdefinierte Buildeinstellungen erstellen, die als EXCLUDED_SOURCE_FILE_NAMES bezeichnet werden. Und fügen Sie Dateinamen oder Muster hinzu.

In meinem Fall wählte ich das Ziel Ich wollte einige Dateien weglassen, Editor -> Add Build Setting -> Benutzerdefinierte Einstellung hinzufügen (zunächst ist das irgendwie ausgegraut. Ich wählte die Projektdatei (knapp über TARGETS) dann Zieldatei erneut ausgewählt und konnte benutzerdefinierte Einstellung erstellen) -> nennen Sie es EXCLUDED_SOURCE_FILE_NAMES -> Wert wie PREFIX *

Natürlich können Sie benutzerdefinierte Einstellung für das gesamte Projekt so erstellen, dass alle Ziele haben es.

Beispiel, wie kann es aussehen: enter image description here

Ursprüngliche Antwort: http://lists.apple.com/archives/xcode-users/2009/Jun/msg00153.html

+0

Im Falle der Option ist immer noch ausgegraut. https://stackoverflow.com/a/46537520/1419745 –

0

In Xcode 9, ich bin über ältere Versionen nicht sicher, gehen Sie zu:

Build-Einstellungen -> Build Optionen -> Ausgeschlossene Quelldateinamen

Fügen Sie alle Dateinamen hinzu, die Sie exklusiv verwenden möchten ded. Sie können sogar Wildcard-Matching durchführen.

Bellow ist ein Beispiel dafür, wie ich alle Dateien beginnend mit dev- und endend mit .cc für alle Schemata mit Ausnahme für ein Debug-Schema, das für Simulator erstellt wurde, ausgeschlossen habe.Alle Debug-Simulator baut Dateien beginnend mit release- und endend mit .cc

enter image description here

Hoffnung ausschließen, das hilft !!

UPDATE

hatte ich ein ähnliches Problem mit Frameworks und Sie können mit diesem auch in Ihre Anwendung eingebettet Frameworks ausschließen zu werden!

Mein Problem war, dass ich 2 Frameworks hatte, eines wurde für den Simulator gebaut und das andere wurde für ARM gebaut. iTunes Connect beschwerte sich über mich einschließlich des Simulators mit der App.

Wenn Sie viele Frameworks haben, hilft dies auch bei der Reduzierung der App-Größe.

Verwandte Themen