2009-08-06 11 views
23

Was ist der Unterschied zwischen diesen beiden Optionen im Dropdown-Menü Projekt? Normalerweise habe ich gerade Dinge in den Projekteinstellungen angepasst (was die info.plist einstellt, oder?).XCode Bearbeiten Projekteinstellungen vs Bearbeiten aktives Ziel

Heute musste ich den Namen meines Projekts ändern. Anfangs habe ich den Product_Name über das Fenster Projekteinstellungen ändern -> Build geändert. Aber das änderte den Namen nicht.

Dann habe ich versucht, den Product_Name aus dem Edit Active Target -> Build Fenster zu ändern, und das schien den Trick zu tun.

Also noch einmal, was ist der Unterschied? XCode versäumt es immer, mich zu verwirren, wenn ich anfange zu denken, dass ich alles herausgefunden habe! Argh !!!

Antwort

54

Die Projekteinstellungen gelten für alle Ziele in Ihrem Projekt. Zieleinstellungen gelten nur für dieses spezifische Ziel. Sie haben wahrscheinlich nur ein einziges Ziel, was die beiden Einstellungen verwirrend erscheinen lässt und redundant erscheint.

Wenn für das Projekt und ein Ziel eine Einstellung festgelegt wurde (fett dargestellt), überschreibt die Zieleinstellung die Projekteinstellung.

Zieleinstellungen, die nicht festgelegt sind (nicht fett dargestellt), werden von den Projekteinstellungen übernommen. Projekteinstellungen, die nicht festgelegt sind (nicht fett dargestellt), werden von den Standardeinstellungen von Xcode übernommen.

Wenn eine Einstellung (entweder Projekt oder Ziel) festgelegt ist (fett dargestellt) und Sie diese Einstellung übernehmen möchten, wählen Sie die Einstellung aus und drücken Sie die Entf-Taste.

Ich schlage vor, dass Sie lieber die Zieleinstellungen verwenden. Verwenden Sie die Projekteinstellungen für größere Projekte mit mehreren Zielen, bei denen Sie Einstellungen wirklich für mehrere Ziele freigeben möchten.

+0

Macht für mich vollkommen Sinn. Vielen Dank! –

+0

Ok, hier ist noch ein Zusammenhang: Was ist der Unterschied zwischen Active Target und Active Executable? –

+9

Hallo Edward, glücklich zu helfen. Wenn Sie mit meiner Antwort zufrieden sind, können Sie sie als akzeptierte Antwort markieren? Bitte stellen Sie Ihre Frage als separate, neue Frage. Auf diese Weise erhalten Sie qualitativ hochwertigere Antworten. –

5

Es ist hinzuzufügen, dass Eigenschaften, die auf Projektebene festgelegt sind, nicht automatisch von den verschiedenen Konfigurationen/Zielen Ihres Projekts geerbt werden: Um Eigenschaften zu übernehmen, die auf Projektebene festgelegt sind, müssen Sie den Wert $(inherited) in den Feldern festlegen Sie möchten solche Eigenschaften tatsächlich erben.

+1

Dies ist ein sehr nützlicher Tipp. Ich habe versucht, das herauszufinden. Vielen Dank! – Imran