2012-02-21 26 views
61

Continuo a cercare, ma non riesco a trovare una spiegazione chiara e semplice su come includere un progetto XCode, insieme a tutte le sue sottoclassi in un altro progetto. Io di solito vedo cose del genere in progetti di esempio che scarico dal web, ma non so come farlo da solo.Xcode 4.2 come includere un progetto in un altro?

All'interno di XCode, insieme ai file .h e .m e alle cartelle, c'è un intero nuovo progetto, che inizia con un'icona di progetto blu xcode, espandibile per contenere tutto all'interno del progetto.

Per favore, qualcuno può spiegarmi passo passo cosa devo fare per aggiungere un progetto XCode in un altro? Ho visto un sacco di un rivestimento come "percorsi di ricerca dell'intestazione", ma questo non mi dice molto.

AGGIORNAMENTO: Dopo aver riletto la documentazione, mi sono reso conto che il progetto da includere deve essere trascinato sull'icona del progetto BLU del progetto principale. Le fonti normali possono essere trascinate ovunque, ma un progetto deve essere trascinato su un progetto.

Grazie!

risposta

126

Questo ha molto senso quando si tenta di aggiungere una libreria statica ai progetti xcode. Ci sono un paio di passaggi necessari per farlo. Innanzitutto, assicurati che il progetto della libreria statica sia non aperto in XCode.

Quindi iniziare trascinando e rilasciando il file xcodeproj della libreria statica (dal Finder) sul progetto xcode della vostra app. StaticLib

Dopo questo è necessario aggiungere questa libreria alle fasi di compilazione della tua app. Fare clic sul progetto principale e selezionare la scheda BuildPhases del target.

Build Phases

si sta andando a voler aggiungere l'altro progetto alle dipendenze di destinazione e al link binario con le librerie Sezione.

Infine, l'app deve essere a conoscenza delle intestazioni. Pertanto, è necessario aggiungere il percorso alle classi delle librerie statiche nei percorsi di ricerca dell'intestazione dell'utente. Vai alle impostazioni di costruzione della destinazione principale e cerca il percorso di ricerca dell'intestazione.

Header Search Path

questo renderà la vostra applicazione a conoscenza della nuova libreria statica.

A volte è necessario aggiungere alcuni altri flag Linker. Nelle impostazioni di generazione per cercare altre bandiere linker e aggiungere -all_load e -ObjC

Other Linker Flags

Spero che questo aiuti, so che la prima volta che ho provato a fare questo mi è stato sbattere la testa contro il muro per un po '.

+0

Se questo post è stato utile, contrassegnare come risposta. :) fammi sapere se hai domande. – MobileOverlord

+0

OMG è fastidioso! – AlexChaffee

+21

Dettagli importanti, ragazzi: il progetto che stai trascinando non dovrebbe essere aperto in Xcode. Nel caso in cui qualcuno affronta lo stesso problema come me. :) – inket

4

È possibile trascinare e rilasciare qualsiasi file di progetto xcode (* .xcodeproj) nel riquadro di navigazione del progetto genitore desiderato.

Potrebbe quindi essere necessario aggiungere dipendenze di destinazione, a seconda delle esigenze.

E 'questo che intendi?

+0

Parte del motivo per cui sto chiedendo è perché ho provato a trascinare il .xcodeproj e non ha copiato tutte le sottocartelle. Peggio ancora, quando ho provato a rimuovere il .xcodeproj per provare a trascinarlo di nuovo, ho cancellato per errore il .xcodeproj dal disco! E 'stata una giornata divertente ... non –

+0

Questo perché un progetto XCode memorizza riferimenti a file, non copie reali. Ecco perché l'eliminazione del file ha effettivamente eliminato il file originale dal disco. E poiché vengono memorizzati solo i riferimenti, le sottocartelle non vengono necessariamente copiate (solo se vengono referenziate nel progetto). – JiaYow

+0

Alex, inizia a usare github o qualche servizio svn. In questo modo non perdi e puoi giocare. –

1

trascinare e rilasciare il file xcode in un altro file xcode dal finder. Chiederà di copiare il file, quindi di selezionare la casella di controllo e verrà copiato nel progetto.

3

Assicurarsi di scegliere "creare gruppi" invece di "creare riferimenti cartella". Se la tua cartella è blu anziché gialla, allora hai un riferimento alla cartella. La cartella dovrebbe essere gialla.

1

Assicurarsi che il progetto che si desidera aggiungere come sottoprogetto non sia aperto, prima di aggiungerlo o rilasciarlo.

+1

Grazie! Questo è stato un risparmiatore di vita per me. –

+0

@VibhorGoyal Siete i benvenuti, ho anche faticato con questo qualche tempo fa :). – Raspu

Problemi correlati