Domanda

hey sto caricando spesso i miei progetti XCode iPhone per un repository svn di essere costruito su un'altra macchina.

Il mio problema è che quando aggiungo le risorse per il mio progetto a volte mi dimentico di aggiungere la risorsa come relative al progetto.

So che una risposta è quello di essere più attenti (non facile quando il vostro stanco!), Ma se ci fosse un modo per eseguire uno script per controllare i miei percorsi delle risorse sono relative quando costruire e mi avverto se non sono che sarebbe stato un grande risparmio di tempo per me.

Come potrei fare per fare questo?

Grazie

Chris

È stato utile?

Soluzione

È possibile selezionare tutti i file del progetto e impostare il tipo di percorso per tutti loro in una sola volta. Anche se questo non è uno script che fa risparmiare un sacco di tempo nel fare le file singolarmente

Credo che l'approccio migliore per questo script potrebbe essere quella di guardare nel file .xcodeproj - i percorsi dei file sono elencati in là. Se il progetto è denominato MyProject è necessario aprire (o usando Mostra contenuto pacchetto in Finder o solo il solito cd nel Terminal) La directory MyProject.xcodeproj.

Qui troverete un file chiamato project.pbxproj - aprire questo in un editor che non rovinare la formattazione e dare un'occhiata in giro per il file. Se si cerca uno dei file nel progetto si dovrebbe essere in grado di vedere come Xcode memorizza i riferimenti ai file di progetto.

Cercare una sezione denominata / * Inizio sezione PBXFileReference * /. Qui sono elencati tutti i file, insieme a dove sono relative al progetto, per esempio:.

... path = Classes/MyClass.h; sourceTree = SOURCE_ROOT

Se è possibile analizzare questo file si dovrebbe essere in grado di acheive ciò che si vuole -. Ma ricordarsi di eseguire il backup del file, altrimenti si potrebbe danneggiare il vostro progetto

Altri suggerimenti

Come sarebbe se invece scrivere uno script che chiede al SCM semmai nel progetto non è impegnata? Per esempio, pensare a questo scenario

Project Root

  Codex

    Project.xcodeproj
    …

  Design

    anImage.png

dove anImage.png essere al di fuori del Codex, dove il progetto Xcode siede (il suo percorso inizia con un ../). Un forte parser .pbxproj avrebbe dovuto sostenere tutte le varianti in cui Xcode riferimento ai file di sapere esattamente se ci sono file randagi.

OTOH, la SCM sa dove tutto è per tutto il tempo (lei ha citato up-ping a un server SVN), quindi perché non chiedere invece.

  • Abbiamo una Rubino script che stampa un avviso in Xcode costruire Login se qualcosa nel progetto non si impegna.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top