Xcode - was ist $ (SRCROOT)?

115

Ich betrachte ein Xcode-Projekt, das einige Bibliotheken verwendet. Das Projekt wurde auf einem anderen Computer erstellt, daher muss ich einige Pfade aktualisieren. Die Bibliothekssuchpfade beginnen alle mit $(SRCROOT). Was bedeutet das?

William Jockusch
quelle
4
SRCROOT
Bala

Antworten:

147

Dies ist der Pfad zu dem Verzeichnis, in dem sich das Xcode-Projekt befindet.

Mipadi
quelle
Das Seltsame ist, dass wenn ich die Pfade in den Build-Einstellungen ansehe, sie alle mit / Users / stevew beginnen. Wenn ich doppelklicke, um die Detailansicht für diese Einstellung zu erhalten, beginnen sie stattdessen alle mit $ (SRCRoot). Auf meinem Computer befindet sich jedoch kein Verzeichnis / Users / stevew. Wurde es also irgendwie an den Ort auf dem anderen Computer gebunden?
William Jockusch
Wahrscheinlich hat jemand SRCROOT mit einem absoluten Pfad definiert - es ist normalerweise ein praktisches Stammverzeichnis für die gesamte Quelle in Ihrem Projekt, aber es sollte kein absoluter Pfad sein, es sei denn, Sie haben nur eine Entwicklungsmaschine.
Paul R
Wenn Sie Ihre Antwort hinzufügen, ist dies das Verzeichnis des lokalen XcodeProject. Wenn Sie also MailCore unter Ihrem Projekt haben, ist MailCores SRCROOT das Verzeichnis, in dem Sie das MailCore-Projekt öffnen. XCode hat dieses Usability-Problem, bei dem Sie nicht direkt auf dem Bildschirm mit den Projekteinstellungen scrollen können. Wenn Sie also einen langen Pfad haben, können Sie dies nicht erkennen. Daher füge ich dieser Antwort für diejenigen mit langen Bibliotheksnamen hinzu. Danke Mipadi für die Hauptantwort.
Stephen J
30
was ist mit PROJECT_DIR? Was ist der Unterschied zu SRCROOT?
Gon
Stellen Sie keine Fragen in Kommentaren. siehe Frage 36323031 zum Stapelüberlauf .
SwiftArchitect
3

$(SRCROOT)(aka $(SOURCE_ROOT)) ist ein Pfad zu Ihrem Standort, an dem sich a .xcodeprojbefindet.

Es ist einfach zu überprüfen, setzen Sie es einfach in ein Feld und Xcode gibt Ihnen einen Tipp

Geben Sie hier die Bildbeschreibung ein

yoAlex5
quelle