Questo è per Xcode 4.5.x iOS armv7 armv7s e la sim e specificatamente sulla configurazione del progetto Xcode/configurazione del progetto:Xcode con iOS - Creazione di una libreria in modo semplice da eseguire in modalità di debug, distribuzione, iterazione
Ho un progetto "A" che è un'app nell'app store. Ho un progetto "B" che è una libreria che verrà utilizzata in A come dipendenza, ma anche distribuita come libreria di terze parti ad altre società da utilizzare nelle loro app. (Le app di terze parti di altre società sono rappresentate in questo caso come "Y").
Ecco i requisiti:
- deve essere in grado di eseguire "A" in modalità debug, e, naturalmente, il debug del progetto nidificato "B" in concomitanza, nella stessa build/sessione.
- Da "A" Posso CMD + Fare clic su una firma del metodo da "B" e saltare direttamente nel file src, dove sono libero di modificare e quindi ricompilare, come se fosse dello stesso progetto.
- Una dev "X" in un'altra azienda deve essere in grado di trascinare facilmente la nostra libreria "B" nel suo progetto "Y", dove "B" è una libreria statica con solo i file di intestazione richiesti esposti. Naturalmente, "Y" chiama i metodi da un sottoinsieme di file di intestazione effettivi di "B". Solo i file di questo sottoinsieme dovrebbero essere inclusi nella distribuzione per Dev "X".
- Dev "X" non dovrebbe essere necessario modificare nulla nel suo progetto Xcode, basta trascinare la cartella per "B" (che contiene la lib statica e il sottoinsieme di file di intestazione) nel suo progetto e fare clic su "Copia risorse, crea riferimenti, ecc. ".
- Devo essere in grado di generare facilmente la libreria statica di "B", basata sugli stessi file che ho modificato tutto il tempo mentre eseguo l'iterazione e il debug di questo progetto "B" all'interno del suo progetto dipendente "A" .
- "B" non ha risorse a parte il codice sorgente - non ci sono risorse immagine, xibs o qualcosa del genere.
- Da "B", faccio clic su "Archivio" e Poof! c'è una lib statica (deve essere fat binary, con questo intendo che funziona sul simulatore + armv7 + armv7s, per favore !!) con i file header essenziali pronti per essere distribuiti.
- Tutto ciò deve essere approvazione negozio app -friendly
- Anche questo deve essere affidabile. Non va bene se devo continuare a tornare per apportare molte modifiche alla configurazione ogni volta che aggiungo un file.
UPDATE:
*PIÙ IMPORTANTE: Questo deve essere un repo posso verificare che è un completo modello di end-to-end di quello che sto cercando, e ho bisogno essere in grado di aprire Xcode 4.5.2+ e fare clic su Play e vedere questa cosa costruire, senza dolore.
500 punti a chiunque che possa fornire un modello di progetto che dimostra tutto quello che ho descritto sopra, "A", "B" e "Y" (con la "B" lib statica usato come dep) . Tutto ciò di cui ho bisogno è una serie di progetti skeleton ("A", "B" (nidificati all'interno di "A") e "Y") che mostrano come questo può essere fatto. Si prega di non trattenere la risposta fino a quando non viene pubblicata la taglia. Se soddisferà le mie esigenze, farò in modo di ottenere i miei punti di merito.
Sono un po 'preoccupato che con le limitazioni di Xcode che questo non è nemmeno possibile in un modo che non è una seccatura completa. Per favore dimmi che sbaglio.
AGGIORNAMENTO: Ho deciso che non mi importa più di armv6. Addio, armv6.
Credito extra se è possibile ottenere armv6 arrotolato nell'output dist insieme a armv7, armv7s, i386/simulator.
P.S. Prometto che sarò ragionevole ad assegnare i punti. Non sto cercando di trattenerli su un aspetto tecnico. Se rendi la mia vita drammaticamente meno dolorosa in questa zona, ti assegnerò i punti.
Grazie per la risposta, sembra promettente a prima vista. Ci tufferò più tardi oggi, quando avrò un momento libero. Se questo risolve i miei problemi, ti assegnerò i punti. Dice "altre 12 ore" fino a quando posso offrire comunque la taglia. Grazie!! – jpswain
Quindi stavo passando attraverso i progetti libturbojpeg. Sembra un codice C baller. So come usare lipo per combinare le build, ma soprattutto voglio un modo per eseguire facilmente il mio progetto di lib static come normale codice sorgente all'interno del progetto dipendente e come libreria statica altrettanto bene e facilmente scambiabile. Ti capita di avere un esempio che incorpori libturbojepg in questo modo? Grazie!! Jamie – jpswain
Basta trascinare il file di progetto per la build della libreria nel progetto, non creare un'area di lavoro ma trascinarlo nell'albero del progetto. Non funzionerà con il progetto libturbojpeg perché ha 2 architetture distinte. Quindi creare una dipendenza nella fase di costruzione del progetto principale e inserire il file * .a nella fase di collegamento. In questo modo: http://media.dunkelstern.de/images/Xcode_library_project.png – Dunkelstern