2014-06-11 3 views
6

Sto sviluppando un'applicazione per iPhone che utilizza Xcode 5 e CocoaPods. Ho uno schema e un obiettivo chiamato Oahu contro cui eseguo i test. Di conseguenza, non sono sorpreso di vedere i miei due target di test presenti nella fase di costruzione dello schema. Tuttavia, c'è un quarto bersaglio build che non può essere rimosso:Build target aggiunto a caso allo schema Xcode

enter image description here

Quando eseguo test, tutti e quattro gli obiettivi sono costruiti, e gli obiettivi dei test vengono eseguiti contro l'ultima, quella corretta, Ku.

E dopo la chiusura Xcode, cancellando il contenuto della directory DerivedData, e l'eliminazione di tutti i file *userdata nella mia directory del progetto (find ./ | grep userdata | xargs rm -rf), ho ancora un obiettivo accumulo estranea:

enter image description here

Si noti che ora includeva il mio obiettivo Production e avevo anche deselezionato Find Implicit Dependencies.

Ho esaminato tutte le mie impostazioni di build, Oahu.xcscheme e project.pbxproj, ma non riesco a trovare nulla che lascerebbe a questo comportamento. Deselezionando l'opzione di creazione dello schema Find Implicit Dependencies non ha alcun effetto.

Questo Oahu schema è l'unico che ha questo problema - gli schemi Ku e Production hanno solo i loro obiettivi corrispondenti - anche se io duplicare il programma Oahu, ma ha anche questo problema.

Può essere risolto?

risposta

8

Ho trovato tutti i miei problemi di build e test relativi allo stesso nome binario. Rinominare i binari prodotti da ciascun target in modo univoco ha risolto il problema.

+0

Scusate, ma sono un po 'perso con questa risposta qui ... Che cosa avete esattamente in mente per "nome binario" – mbpro

+0

Penso che intendesse il nome del prodotto. Ho provato con il nome del prodotto e sembra funzionare ora per me. – xarly

+0

Sì, impostare Nome prodotto per essere uguale per tutte le configurazioni di build e si dovrebbe andare bene. –

3

Ho appena avuto lo stesso problema. Nel mio caso il bersaglio aggiuntivo è apparso nelle impostazioni di costruzione del target dello schema. Puoi cercare il nome del target indesiderato lì, ho trovato il mio sotto BUNLDE_LOADER e TEST_HOST. È stato risolto dopo aver eliminato le impostazioni.

1

Nel mio caso, era perché l'obiettivo era elencato sotto Dipendenze obiettivo sotto le Fasi di costruzione del mio obiettivo di test.