2011-04-06 3 views
6

Ho un progetto di app Xcode con configurazioni disponibili "Foo", "Bar" e "Baz". Questo progetto dipende da una libreria statica con le configurazioni "Debug" e "Release".Progetto Xcode4 con nome di configurazione personalizzato e libreria delle dipendenze Debug/Release?

Xcode4 sta creando prodotti dal progetto app in una directory "Foo-iphoneos" e prodotti dal progetto di libreria in una directory "Release-iphoneos".

Qual è la migliore pratica per avere questi due progetti condividere la stessa directory dei prodotti di compilazione?

risposta

0

Una soluzione è che se i progetti dipendenti hanno gli stessi nomi di configurazione del progetto principale (ad es. Foo, Bar, Baz), Xcode li abbinerà e creerà utilizzando la stessa configurazione.

Quindi, se si desidera una build di debug invece di una build di rilascio, è possibile duplicare la configurazione di Debug e chiamarla Foo. Se non hai davvero bisogno di entrambi, puoi rinominare la configurazione invece di duplicarla, ma con nomi di esempio come Foo, non sono sicuro di cosa avrebbe senso per la tua situazione.

Tuttavia, il titolo menziona Xcode 4. La tecnica sopra descritta è ciò che ero solito fare in Xcode 3; Non ho ancora capito come gestire queste configurazioni in Xcode 4. Sto cercando di capirlo adesso.

Aggiornamento: per gestire le configurazioni in Xcode 4, è possibile fare clic sul nome del progetto o del progetto dipendente verso la parte superiore del navigatore del progetto (dove tutti i file/cartelle sono elencati sul lato sinistro). Nella finestra principale, seleziona Informazioni (l'altra scheda è Impostazioni build). Verrà quindi visualizzata la sezione Configurazione in cui è possibile aggiungere/eliminare/rinominare le configurazioni.

0

Ho riscontrato che se le configurazioni del target e delle dipendenze non corrispondono, le dipendenze verranno create con la configurazione Release.

Non sono riuscito a trovare un modo per personalizzarlo.

1

è possibile aggiungere il seguente percorso di percorsi di ricerca delle biblioteche per qualsiasi configurazione non standard:

"$(BUILT_PRODUCTS_DIR)/../Release-$(PLATFORM_NAME)" 

Questo funziona per me con Xcode 4.6. Non sono sicuro se ci sia un modo per controllare quale configurazione verrà creata per i progetti di pari livello, ma per i miei scopi la Release era ciò che volevo.