Lo so, questo è stato chiesto alcune volte, ma principalmente per Xcode 3.x. Per l'iPad, ho due progetti entrambi residenti in uno spazio di lavoro comuneXcode 4: Come aggiungere dipendenza della cartella statica al progetto
- Foo, un'applicazione in base alla vista e
- Foolib, una biblioteca di cacao-Touch statica
l'ex seconda della quest'ultimo. Non riesco a capire come aggiungere questa dipendenza. Non è ben spiegato nella documentazione, così ho provato la seguente:
- Clicca sul progetto Foo nel riquadro di spostamento a sinistra,
- Selezionare Costruire Fasi la parte superiore ed espandere la sezione di destinazione Dipendenze
- Fare clic sul pulsante più, ma l'elenco risultante è vuoto.
Ho anche provato a trascinare/rilasciare il file .a in quella sezione, con scarso successo. Inoltre, la documentazione indica
Se il prodotto di costruzione di un progetto in un'area di lavoro dipende dal prodotto di costruzione di un altro progetto nell'area di lavoro (ad esempio, se un progetto crea una libreria utilizzata dall'altro progetto), Xcode scopre tali dipendenze implicite e costruisce nella sequenza corretta.
Mi chiedo come Xcode scopra queste dipendenze. Apple sta dicendo che non devo assolutamente aggiungere questa dipendenza target? Ma come potrebbe Xcode scoprire che si sta usando l'altro?
Ultimo ma non meno importante, avrò bisogno di ottenere i file .h da Foolib a Foo in qualche modo. Qual è il modo consigliato per farlo? Ovviamente, non voglio semplicemente copiarli. Con i framework vengono inclusi i file header, ma cosa fanno le persone in genere quando lavorano con le librerie statiche che loro stessi sviluppano in parallelo.
Una spinta nella giusta direzione sarebbe molto apprezzata. Grazie.
Grazie per quello. Quindi aggiungere l'Obiettivo allo Schema rende Xcode costruire Foolib prima di Foo, giusto? Ma sembra che dovrei anche avere libFoolib.a in qualche modo nel mio progetto Foo, altrimenti, ricevo errori di linker, giusto?Al momento non riesco nemmeno a far costruire Foolib; beh, si costruisce con successo, ma poi libFoolib.a nel gruppo Prodotti rimane rosso. Qualche idea su cosa sta succedendo lì? – McKrassy
Ho problemi con l'architettura AMR o i386 a seconda dell'esecuzione su un dispositivo o emulatore. Forse questo è il tuo problema (mentre si compila la libreria statica su un'architettura il progetto che usa questa libreria sta tentando di collegarsi a una libreria con architettura diversa ...) –
@MPenades yup) in realtà devi leggere su ** Universal Libraries ** guarda questo tut http://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial – Resty