Xcode - che cos'è $ (SRCROOT)?


115

Sto guardando un progetto Xcode che utilizza alcune librerie. Il progetto è stato creato su un computer diverso, quindi ho bisogno di aggiornare alcuni percorsi. I percorsi di ricerca della libreria iniziano tutti con $(SRCROOT). Cosa significa?


Risposte:


147

È il percorso della directory contenente il progetto Xcode.


La cosa strana è che quando visualizzo i percorsi nelle impostazioni di build, iniziano tutti con / Users / stevew. Quando faccio doppio clic per ottenere la visualizzazione dei dettagli per quell'impostazione, iniziano tutti con $ (SRCRoot). Ma non c'è la directory / Users / stevew sul mio computer. Quindi in qualche modo è stato bloccato nella posizione sull'altro computer?
William Jockusch

Probabilmente qualcuno ha definito SRCROOT utilizzando un percorso assoluto: di solito è una comoda directory root per tutti i sorgenti nel progetto, ma non dovrebbe essere un percorso assoluto a meno che tu non abbia una sola macchina di sviluppo.
Paul R

Aggiungendo alla tua risposta, è la directory dell'XcodeProject locale, quindi se hai MailCore sotto il tuo progetto, SRCROOT di MailCore è la directory in cui apri il progetto MailCore. XCode ha questo problema di usabilità in cui non puoi scorrere direttamente nella schermata delle impostazioni del progetto, quindi se hai un percorso lungo, non sarai in grado di dirlo, quindi aggiungo a questa risposta per quelli con nomi di lib lunghi. Grazie mipadi per la risposta principale.
Stephen J

30
di cosa PROJECT_DIR? Qual è la differenza SRCROOT?
Gon

Non fare domande nei commenti; vedere la domanda 36323031 su Stack Overflow.
SwiftArchitect


3

$(SRCROOT)(aka $(SOURCE_ROOT)) è un percorso verso la tua posizione dove si .xcodeprojtrova un .

È semplice da controllare, basta inserirlo in un campo e Xcode ti dà un suggerimento

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.