2011-09-26 9 views
10

Vorrei aggiungere alcuni file alla fase di compilazione di Compile Sources utilizzando uno script in XCode, che estrae da alcuni riferimenti di cartella. Non sono stato in grado di trovare molta documentazione finora.Esercitazione o guida per la creazione di fasi di creazione XCode

  1. Dove si trova la documentazione generale (o un buon tutorial) per lo scripting delle fasi di compilazione di XCode?
  2. Come posso aggiungere file alla fase Compile Sources?
  3. Come posso scoprire informazioni sul progetto e i riferimenti alle cartelle al suo interno?
  4. Esistono considerazioni particolari se voglio eseguire lo script in Ruby o Python rispetto allo script di bash?
+0

Sto provando a fare la stessa cosa, sei riuscito a ottenere uno script per farlo? Il mio problema è che sto modificando project.pbxproj durante la compilazione, quindi Xcode non aggiorna le origini di compilazione durante la stessa build, solo per la build successiva. –

risposta

20

Per aggiungere file alla fase Compile Sources costruire utilizzando uno script, è necessario manipolare il file del progetto project.pbxproj programmazione.

In generale, si potrebbe ottenere questo risultato l'analisi del file project.pbxproj in una struttura di dati in memoria, la manipolazione che la struttura di dati attraverso un'interfaccia programmatica, e poi scrivendo la struttura di dati verso un nuovo file project.pbxproj.

Ci sono diversi progetti là fuori che potrebbero aiutare a fare questo, non ho provato nessuno di loro:

Ed ecco una serie di post di blog con grandi informazioni generali sul contenuto e il formato dei file XCode project.pbxproj.

Infine, può essere la pena di notare che, per molto semplici manipolazioni, soprattutto se non siete preoccupati per la cosmesi del file project.pbxproj ottenere incasinato su, è possibile seguire il suggerimento su this Stack Overflow answer per analizzare il file project.pbxproj nella riga di comando in questo modo:

plutil -convert xml1 -o - myproj.xcodeproj/project.pbxproj

Happy parsing!

+0

Sebbene sia più che possibile per fare in questo modo, sarebbe un crimine essere pagato all'ora per farlo. – ctpenrose

+0

Non fare affidamento su 'plutil' per fare il lavoro, ho solo avuto casi in cui ha prodotto dati corrotti senza nemmeno mostrare un messaggio di avviso. – jcayzac

+2

Ecco un'altra API Xcode: https://github.com/jasperblues/XcodeEditor –

Problemi correlati