Ho un obiettivo principale che include alcuni file inclusi nella sua destinazione -> Fasi di compilazione -> Fonti di compilazione. Sto iniziando un test unitario e vorrei che il test unitario includesse gli stessi file dell'obiettivo principale. C'è un modo per copiare e incollare i file inclusi in un target su un altro target?Come copiare e incollare i file in Compile Sources da una destinazione all'altra?
risposta
È possibile creare un duplicato della destinazione facendo clic con il pulsante destro del mouse sulla destinazione e selezionando Duplica. Oppure premi Comando + D.
È quindi possibile modificare le impostazioni di creazione del nuovo target in base alle esigenze.
È possibile modificare la sezione PBXSourcesBuildPhase nel file ".pbxproj". Puoi trovare il file cercando nel file ".xcodeproj" (fai clic con il pulsante destro del mouse sul file del progetto + mostra il contenuto del pacchetto). Dopo aver trovato il file cerca "PBXSourcesBuildPhase". Dopo aver trovato la raccolta, puoi semplicemente copiare/incollare i file sorgente da una destinazione alle altre.
Non è facile trovare gli obiettivi corretti (ho circa 20 obiettivi nel progetto). Quindi ho appena messo un nuovo file sorgente nella destinazione che sto cercando per identificarlo nel file .pbxproj. Ma con quello, la soluzione funziona come un fascino per me. – d4Rk
Sì, è possibile attenersi alla seguente procedura:
- Selezionare tutti compilare sorgenti sul bersaglio principale.
- Fare clic con il pulsante destro del mouse sulla selezione e selezionare Rivelare in Project Navigator (
CMD
+Shift
+j
). I file saranno selezionati nel riquadro di sinistra. - Selezionare un altro obiettivo.
- Trascinare e rilasciare i file selezionati da Project Navigator su Compile Sources di un'altra destinazione.
Xcode 9.2 Update:
Sembra che in Xcode 9.2 è possibile selezionare solo fino a 150 articoli in una sola volta da usare il drag and drop. Se vuoi copiare più elementi puoi farlo in lotti.
Questa risposta dovrebbe essere contrassegnata come risposta corretta! – Ramis
Il trascinamento non funzionava con me in Xcode 7, ma potevo selezionare il target nella sezione "Appartenenza al target" nel pannello Utilità (Visualizza> Utilità> Mostra utilità). Se la sezione Target Membership non viene visualizzata, prova a selezionare un file .m prima di visualizzare i file selezionati in Project Navigator. – jlukanta
Il trascinamento della selezione funzionava bene per Xcode 8.x. –
Dopo aver duplicato un obiettivo dell'app, come posso convertirlo in un target di bundle unit test? – Richard