2013-07-11 13 views
14

Come posso creare una libreria statica e posso aggiungere solo un file .a su qualsiasi progetto in ios.Come posso creare una libreria statica e posso aggiungere solo un file .a su qualsiasi progetto in ios

Ho provato a farlo ma non ci sono riuscito.

Grazie in anticipo

+1

possibile duplicato di [Libreria e librerie statiche IOS come e problemi] (http://stackoverflow.com/questions/5653374/ios-static-library-how-to-and-issues) – Amar

+0

ce l'ha fatta kajal? – dhaya

+0

Ciao, no. nell'esempio che hai inviato aggiunge l'intero progetto. Voglio solo aggiungere un file di libreria. –

risposta

27

se si desidera creare lib statici significa fare riferimento il link http://jaym2503.blogspot.in/2013/01/how-to-make-universal-static-library.html

Passaggio 1: Creare un nuovo progetto, denominato esso "Logger"

Fase 2: creare classi

Puoi creare tutte le classi che desideri, nel nostro tutorial creeremo una classe chiamata "Logger". Quindi, ora due file dovrebbero essere nella nostra risorsa. 1. Logger.h 2. Logger.m

Fase 3: Metti un po 'di codice utile in Classi

Fase 4: Creare nuova destinazione

Crea nuova destinazione dal menu File.

nuova destinazione Selezionare Cocoa Touch libreria statica

Fase 5: Aggiungere file per la compilazione delle risorse

Selezionare "Logger" Obiettivo della libreria statica Vai costruire Fasi Nella sezione rispettate Fonti, aggiungere tutti i .m e .mm. Nella sezione Copia file, aggiungere tutti i file .h e i file di risorse.

fasi di creazione

Fase 6: Compilare progetto con Static libreria di destinazione

Compile Progetto per iOS dispositivo Compile Progetto per Simulator Si possono trovare due file .a diversi generati in cartelle di compilazione.

Trova .a file di

Passo 7: Assicurarsi statico Biblioteca Universale

Si possono trovare due libreria diversa ora, uno è per simulatore e uno è per i dispositivi iOS.

Creare una nuova cartella e denominarla LoggerMerge. Copia libLogger.a di file della cartella di debug-iPhoneOS a "LoggerMerge" rinominarlo in libLogger_device.a Copia libLogger.a di file della cartella di debug-iphonesimulator a "LoggerMerge" rinominarlo in cartella libLogger_simulator.a aperta LoggerMerge con Terminal fuoco sotto comando lipo -Creare "libLogger_simulator.a" "libLogger_device.a" -output "libLogger.a"

Ora, si possono trovare nella cartella libLogger.a LoggerMerge, questo è file di libreria statica universale. Ora, solo una cosa di cui hai bisogno sono le intestazioni, vedi sopra lo screenshot c'è una cartella chiamata include in entrambe le cartelle di costruzione. Basta copiare il file di intestazione da questa cartella.

Fase 8: Prova statica Biblioteca

Crea nuovo progetto, il nome TestLogger Importa libLogger.a e file header file di intestazione importazione "Logger.h" ovunque si desidera utilizzare Ora, utilizzare questa classe Logger come pratica di default. Nel nostro caso, [Log del logger: @ "Test String"]; Esegui progetto in simulatore e dispositivo entrambi Questo è tutto! Hai la tua libreria statica !!

+0

Non riesco ad aprire il link che hai inviato. –

+1

Non riesco a trovare un file .a. Dove dovrebbe essere. Dopo averlo compilato, la mia libreria nella cartella prodotti è ancora con il colore rosso. Perché? –

+0

hoo che niente kajal. basta connettersi con il dispositivo, cambierà. – dhaya

10

Fase 1: Avvio di un nuovo progetto libreria statica

Aprire XCode e avviare un nuovo progetto. Sotto iOS, seleziona Libreria e "Cocoa Touch Static Library" diciamo come "staticlibrary". Questo creerà un nuovo progetto per noi che crea un file .a.

Passaggio 2: Codice della libreria statica Per prima cosa è necessario aggiungere alcuni file. Aggiungi una nuova sottoclasse NSObject al tuo progetto e chiamane StaticClass.Then Scrivi un codice utile in quei file.

Passaggio 3: Creazione e distribuzione della libreria Una volta soddisfatti della libreria, è sufficiente crearla in XCode. Ovviamente, non creare ed eseguire come non è possibile eseguirlo (di nuovo, a meno che non si disponga di una suite di test). Ora, guarda sotto il gruppo Prodotti in XCode e dovresti vedere un file chiamato lib (libraryName) .a. Nel nostro caso, è libstaticlibrary.a.

Fare clic con il tasto destro su quel file e selezionare "Mostra nel Finder". Trascina questo file in una nuova cartella che creerai dove impacchettare tutti i file della tua libreria. Ora, fai lo stesso con tutti i file .h. Nel nostro caso, copia semplicemente StaticClass.h in questa nuova directory. La struttura di directory dovrebbe apparire così:

FolderName 
|- libstaticlibrary.a 
|- StaticClass.h 

Ora è possibile comprimere questa cartella e venderlo a aspiranti sviluppatori iOS per milioni!

Fase 4: Collegamento tua biblioteca in un nuovo progetto Quindi, ora che avete costruito la vostra nuova libreria statica lucido, è il momento di verificare il lavoro svolto in un'altra applicazione.

Creare un nuovo progetto View-Based (o qualsiasi cosa non contenga realmente). Chiamalo come Test.

Ora basta trascinare questa cartella nel progetto e XCode imposterà automaticamente tutti i collegamenti. Quando viene richiesto di copiare, di solito dico di sì, ma puoi fare quello che vuoi a seconda di come intendi utilizzare la libreria. A volte basta collegare e non copiare è molto più vantaggioso se si hanno più progetti che condividono una singola libreria. Assicura che tutti usino la versione più aggiornata.

Ora si dovrebbe vedere il file .a insieme ai file di intestazione nel nuovo progetto.

Fase 5: utilizzando il codice di libreria statica

Ora che tutto il collegamento è impostato, è sufficiente utilizzare la libreria come qualsiasi altra classe.

Per ulteriori chiarimenti http://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial sperare che questo tutorial sia di aiuto.

+0

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. – mah

+0

Benvenuti in Stack Overflow! Un link a una potenziale soluzione è sempre il benvenuto, ma per favore [aggiungi contesto intorno al link] (http://meta.stackexchange.com/a/8259/169503) in modo che i tuoi utenti abbiano un'idea di cosa sia e perché sia Là. Citare sempre la parte più rilevante di un link importante, nel caso in cui il sito target non sia raggiungibile o sia permanentemente offline. Considera che essere _barely più di un link a un sito esterno_ è una possibile ragione per [Perché e come vengono eliminate alcune risposte?] (Http://stackoverflow.com/help/deleted-answers). –

+1

Grazie mille per avermi aiutato, dato che sono nuovo nello stack di overflow, non conosco le insidie ​​che ho aggiornato la mia risposta in base alla tua richiesta – yashwanth777