2013-03-11 8 views
34

Wie lautet die $(inherited) Suchpfadeinstellung?

Ich habe die Header und Bibliothek Suchpfad Einstellungen in Bezug auf OpenSSL für iPad geändert und dieses Problem zusammen mit der rekursiven Option für bestimmte Pfad war der Hauptschuldige.

Als ich meine Suchpfade neu geordnet habe, um zuerst in Verzeichnisse und dann in $(inherited) zu schauen, funktionierten die iPad-Builds.

Antwort

31

Ich bin auch auf der Suche nach einer Dokumentation. Aber ich habe die Erfahrung gemacht, dass $(inherited) verwendet werden kann, um Erstellungseinstellungen von der Projektebene auf die Zielebene zu erben. Wenn Sie Bibliotheks- oder Header-Suchpfade auf Projektebene definieren, können Sie in den Zielerstellungseinstellungen $(inherited) verwenden, um diese Suchpfade in den Suchpfaden der Projektziele zu verwenden.

+0

finde ich denke, das ist eigentlich $ ist (geerbt), nicht mehr als $ (vererben). – Dave

4

NACHTRAG: mit $(inherited)Build-Einstellungen-> Bibliothek Suchpfad wird automatisch ausgefüllt, wenn Sie durch einen Klick in dem Ziel Membership rechten Fensterbereich, eine Bibliothek zu einem Ziel hinzuzufügen. Dies passiert sonst nicht.

+0

Ich fand das nicht der Fall, zumindest nicht als von Xcode 7. Ich habe $ (vererbt) in das Projekt und das Ziel gesetzt (probierte sie auch einzeln), dann fügte ich ein spezielles Framework zu meinem spezifischen hinzu Ziel, aber es wurde nicht zu den Suchpfaden hinzugefügt. Vermisse ich einen Schritt? – MarqueIV

+1

Es ist schwer, mit Xcode-Updates Schritt zu halten ... es könnte sich geändert haben. –

21

Wenn Sie gehen zu bauen Einstellungen Ziel, und wechseln Sie auf Ebene Ansicht

Alt text

Sie den Fluss von inherited vom rechten sehen

Resolved <- Target <- xcconfig <- Project <- iOS Default 

So in inherited in Zielmittel nach links Dieses Ziel erbt Einstellungen von xcconfig und Projekt

+0

Wo/was ist xcconfig? – Ricardo

1

Exampl e des Überschreibens Erstellen von Einstellungsvariablen, die auf der Projekt- oder Zielebene festgelegt sind, indem Sie den Wert dieser Variablen in einer xcconfig-Datei neu zuweisen.

// Variable set in the project file, previous level 
OTHER_LDFLAGS = -ObjC 

// lib.xcconfig 
OTHER_LDFLAGS = -framework Security 

^Wenn mit dieser Zusammenstellung wird der vorherige Wert von OTHER_LDFLAGS -ObjC geht -framework Security durch den neuen Wert überschrieben werden.

Beispiel für das Vererben von Erstellen von Einstellungsvariablen, die auf der Projekt- oder Zielebene festgelegt sind, indem sie an den vorherigen Wert dieser Variablen in einer xcconfig-Datei angehängt werden. Denken Sie an $(inherited) als eine spezielle Variable, die verwendet werden kann, um den vorhandenen Wert einer Variablen zu erhalten, so dass die Zuweisung zu derselben Variablen nicht destruktiv ist.

// Variable set in the project file, previous level 
OTHER_LDFLAGS = -ObjC 

// lib.xcconfig 
OTHER_LDFLAGS = $(inherited) -framework Security 

^Wenn mit dieser Zusammenstellung wird der Wert von OTHER_LDFLAGS geht -ObjC -framework Security sein.

Beispiel bei https://pewpewthespells.com/blog/xcconfig_guide.html