Domanda

Ho un progetto XCode ( A ) che fa riferimento a un altro progetto ( B ). Per impostazione predefinita (per quanto ho capito) XCode costruirà implicitamente la configurazione per la dipendenza B che corrisponde alla configurazione del target di A (ad es. & Quot; Debug " ;). Ma cosa succede se voglio, per esempio, A costruire come " Debug " e il B da compilare come " Rilascio " ;? Come farei per specificarlo in XCode?

È stato utile?

Soluzione

Non conosco alcun approccio semplice, ma puoi forzarlo bruscamente chiamando xcodebuild direttamente per la dipendenza con un " Run Script " fase di costruzione.

So che era solo un esempio, ma se il tuo vero obiettivo è che il sottoprogetto sia una build di Release (senza simboli), potresti avere un'esperienza migliore semplicemente costruendo il sottoprogetto in una libreria o framework e controllando il file binario risultante nel sistema di controllo della versione. Ogni volta che ho un pezzo del sistema che cambia di rado e per cui non voglio simboli di debug, vado avanti e lo costruisco come una libreria statica e lo controllo. Spesso vado avanti e sposto il codice anche altrove (con un file README con .a che indica dove si trova il codice e come è stato creato). Ciò consente di risparmiare tempo sia su build che su checkout ed è prezioso per i grandi progetti nella mia esperienza.

Altri suggerimenti

Questo potrebbe essere d'aiuto: se la configurazione del progetto A non viene trovata, Xcode creerà la configurazione Release come fallback (o forse la prima configurazione dell'elenco) .

Quindi puoi " forzare " il link usando questo suggerimento: Xcode personalizzato crea configurazione cause " libreria / file non trovato " per le librerie statiche

Sì, questo non è naturalmente supportato da Xcode; quando costruisci un target, crea una configurazione di se stesso e di tutti i target dipendenti.

La soluzione alternativa, come menzionato da Rob, è quella di avere una destinazione dipendente che è un tipo di destinazione aggregata che comprende una singola fase di compilazione Run Script, che invoca semplicemente xcodebuild -configuration Release (o qualsiasi altra cosa).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top