2010-05-19 14 views
25

In Xcode, c'è un modo per specificare che tutti i file in una cartella sono compilati da una destinazione. Per esempio. la destinazione 'Test' compila automaticamente tutti i file nella cartella 'Test', mentre la destinazione 'App' compila tutto nella cartella 'Sorgenti'.Xcode - Aggiungi automaticamente tutti i file in una cartella a un target

Oggi, il modo in cui lo sto facendo è aggiungere un file a un obiettivo ogni volta che lo creo. Questo sembra un po 'soggetto a errori e ridondante poiché i file sono già organizzati nelle cartelle corrette.

Grazie.

risposta

0

Sì, è sufficiente selezionare tutti i file nella cartella e utilizzare la finestra di ispezione (scheda Target).

+4

Ma con questo, ogni volta che viene creato un nuovo file, è necessario specificare la destinazione. Ciò che sarebbe bello è, se ci fosse un modo di auto impostazione di questo obiettivo in base alla cartella in cui si trova il file. Quindi, non sarebbe necessario assegnare obiettivi ai file ogni volta, poiché sarebbero nella cartella corretta. per esempio. Test, esempio di app dall'alto. –

+0

@Akshay: Capisco cosa stai dicendo - sì, potrebbe risparmiare un po 'di tempo. È possibile utilizzare Apple Bug Reporter per effettuare richieste di funzionalità come questa. –

+2

appena trovato questo da googling - ci deve essere un modo per farlo, scommetto. cercando di fare la stessa cosa – taber

-1

Xcode è estensibile tramite script di shell. È possibile impostare lo script della shell per l'esecuzione in fase di compilazione in modo da poter fare in modo che xcode faccia tutto ciò che si desidera. Sei limitato dalle tue capacità di scripting della shell e sono sicuro che anche tu puoi trovare aiuto.

+0

Come sarebbe esattamente? Ovviamente non dovrebbe ricompilare tutti i file tutto il tempo, ecc. – Albert

+0

Penso che questo sia un buon suggerimento. – eonist

2

Qui ci sono alcune altre domande su StackOverflow tentativo di affrontare questo problema:

Add files to an Xcode project from a script?

Automatically adding generated source files to an xcode project

+1

Nessuno di questi è rilevante qui. Il primo riguarda i file di risorse e Akshay ha chiesto informazioni sui ** file di origine **. Anche il secondo non è rilevante, il link per il progetto è morto e non funziona bene con il monitoraggio delle dipendenze; la modifica di un progetto Xcode dopo che la compilazione è stata avviata è come applicare le patch al compilatore binario mentre sta compilando un file sorgente. Potrebbe funzionare, anche se non lo farei per un solo secondo. – Mecki

+0

@Mecki Il progetto minit è stato eliminato, ma il progetto https://github.com/expanz/xcode-editor è disponibile. Modificare un progetto Xcode è più come modificare un file make, forse non è la cosa più sicura da fare, ma fattibile. Con la giusta combinazione di strumenti e processi funzionerà. Dipende da cosa vuoi fare. – ThomasW

3

È possibile aggiungere più file agli obiettivi con questo. Ma richiede del lavoro nel filtrare i file che vuoi.

Progetto> destinazione> compilare i sorgenti> cmd + A per selezionare tutti i file> filtro per i file .m> cliccare su "Aggiungi"

Simile ad altre risorse,

Progetto> destinazione> Copia Bundle Risorse> filtro per .png .wav .strings .xib .storyboard, ecc.> fare clic su "Aggiungi"

7

Quando si aggiungono file al progetto Xcode, si avranno due opzioni tra cui scegliere in file selezionare dialogo:

  1. Creare gruppi per tutte le cartelle aggiunte.
  2. Creare riferimenti alle cartelle per qualsiasi cartella aggiunta.

è necessario selezionare la seconda opzione. In questo caso, Xcode rifletterà sempre le modifiche ai file e alle sottocartelle della cartella selezionata.

Sembra che la domanda sia stata posta molto tempo fa, ma è ancora al primo posto nella ricerca su google, quindi spero che sarà utile per qualcuno.

+10

Sfortunatamente non funziona più. Xcode non aggiunge riferimenti a cartelle a "fonti di compilazione". Non sono sicuro di Xcode 4, ma Xcode 5 sicuramente non funziona. Apple ha rimosso molte utili funzionalità, ad es. questo e trascinando le cartelle su un altro progetto. –

+0

In XCode 7.3 dovresti aggiungere la cartella e prima di premere il pulsante "Opzioni" sul lato sinistro. dovresti premere su di esso e scegliere l'opzione Crea gruppi per qualsiasi cartella aggiunta. – user2067656

4

Questo è completamente rotto in Xcode. Aggiungere cartelle per riferimento alla cartella (@ risposta di Pavel) dovrebbe essere corretto, ma semplicemente non funziona. Vedi anche https://stackoverflow.com/a/42600782/2518722. Sto usando Xcode 8.3, ma è stato rotto anche per molte generazioni.

Non c'è una soluzione perfetta, ma questo è quello che faccio:

  1. Trascinare la directory nel progetto
  2. Quando è stato chiesto, impostare le opzioni come segue:
    • Select Crea gruppi per qualsiasi cartella aggiunta (vale a dire, l'opposto di ciò che si ritiene sarebbe giusto)
    • DeselezionaCopia i file se necessario (perché vuoi un collegamento, non una copia).

Ora eventuali modifiche apportate ai file nella directory condivisa si rifletteranno in Xcode, che è buono.

Ma, non c'è modo di aggiornare il gruppo. (Qualcuno può dirmi se mi manca qualcosa di ovvio qui.) Quindi se hai aggiunto nuovi file alla directory, devi rimuovere il gruppo in Xcode e riaggiungerlo prima che questi file vengano visualizzati. Questo è ovviamente scomodo, ma almeno non è troppo incline agli errori degli utenti - ed è meglio dell'aggiunta manuale dei file uno alla volta.

Devo dire che trovo piuttosto incredibile che una funzione così semplice e necessaria di un ambiente di sviluppo sia così spezzata qui.

+0

C'è un radar per questo bug? Suppongo che sia ancora rotto in XCode 9. – rmooney

+0

Non ho controllato Xcode 9. Per essere sincero, trovo Xcode così pieno di bug, molti dei quali vengono segnalati ma mai indirizzati, che ho perso la fiducia in Apple processo di sviluppo interamente. – HughHughTeotl

+0

@rmooney È ancora rotto a partire da Xcode 9.2 –

Problemi correlati