Come costruire un Obiettivo-C libreria statica?

Ho qualche Obiettivo-C classi, che attualmente sto usando sia una applicazione Cocoa (Mac OS X) e un Cocoa-Touch (iOS). Attualmente, durante l’aggiornamento di tali classi, devo copiare quelli aggiornati .h e .m file di entrambi i progetti. Non che grande affare, ma ho intenzione di essere in uso in molti altri progetti.

Così, voglio costruire queste classi in un Obiettivo-C libreria statica. E poi linkare libreria in tutti gli altri progetti.

C’è un modo per costruire una libreria statica di questo che funziona con il Cacao e il cacao, le applicazioni touch?

Ho provato solo la costruzione di un Cacao libreria statica con queste classi, ma mi da vari errori quando provo a linkare quella libreria nella mia applicazione Cocoa, e sono sicuro che provengono dal fatto che non sto facendo è giusto.

Così, come faccio a costruire un Obiettivo-C libreria statica la diritto modo? Devo compilare una Cocoa-Touch e il Cacao in una libreria statica? O posso semplicemente fare uno? Come è questo fatto?

Ci sono ben fatte tutorial su questo argomento?

Ho cercato nel web ma non riesco a trovare una guida esaustiva su questo argomento, così ho posto la domanda qui, nella speranza che una grande risposta verranno pubblicate e questa domanda può servire come una risorsa per me e per i futuri interlocutori.

  • Buona domanda e vorrei che ci fossero più esempi di farlo bene. Darò un’occhiata al tutorial che hai linkato e vedi se c’è qualcosa che posso aggiungere. il tuo obiettivo è quello di costruire un universale statico lib è possibile condividere con altre app come un binario di risorse o vuoi creare una dipendenza di progetto su qualche progetto condiviso di compilazione del prodotto?
  • universale libreria statica. 🙂
  • Controllare questo documento apple : developer.apple.com/library/ios/technotes/iOSStaticLibraries/…
InformationsquelleAutor Alex | 2011-01-11



4 Replies
  1. 26

    Per XCode 5. Queste risposte sembrano un po ‘ fuori di data.
    Si possono vedere i principali passi di qui http://www.raywenderlich.com/41377/creating-a-status-library-in-ios-tutorial . Ma Xcode 5, fa un sacco di lavoro in più, per voi e per ora funziona quasi come si desidera.

    1.Creare nuova Libreria Statica App in Xcode
    Come costruire un Obiettivo-C libreria statica?

    2.È possibile eliminare qualsiasi file che crea e aggiungere il proprio. Aggiungi i metodi etc.
    Come costruire un Obiettivo-C libreria statica?

    3.Piccolo problema con le Librerie Statiche, è che si può costruire solo per il dispositivo o eseguire nel simulatore. Quindi abbiamo bisogno di creare una libreria che supporta un BRACCIO e Architetture i386, per fare questo abbiamo bisogno di creare un universal binary (quindi supporto simulatore e sul dispositivo costruisce).

    Creare una nuova destinazione (File > Nuovo > Destinazione).
    Come costruire un Obiettivo-C libreria statica?

    4.Selezionare la Nuova Destinazione di aggiungere una nuova fase di costruzione (Editor > Aggiungi Fase di costruzione > Aggiungi Eseguire Script in Fase di costruzione
    Come costruire un Obiettivo-C libreria statica?

    5.Selezionare la fase di generazione e invio lo script da questo link in finestra script.
    https://gist.github.com/sponno/7228256

    Come costruire un Obiettivo-C libreria statica?

    6.Ora è necessario creare ogni architettura (simulatore e il dispositivo iOS)

    6.2.Selezionare la nostra biblioteca e poi iOS Dispositivo, fare clic su di compilazione o di esecuzione (Comando + B)

    6.3.Poi per il Simulatore (selezionare l’Icona della Libreria molto alto a sinistra della Xcode e poi il Simulatore iOS)
    Come costruire un Obiettivo-C libreria statica?

    7.Ora si vuole costruire il BullsEye icona > Dispositivo iOS. Questo sarà l’aggregazione di destinazione e unire le nostre due librerie in un nuovo file universale.

    8.Consente di vedere se tutto questo ha funzionato.
    Ampliato la cartella “Prodotti” nell’albero di sinistra, fare clic destro sul file che termina con “.una” e “Mostra nel Finder”

    9.Se tutto questo funziona, si dovrebbe vedere i seguenti file nel finder.
    Si vedrà il
    Come costruire un Obiettivo-C libreria statica?

    10.L’ultimo passo è facile, basta trascinare la “biblioteca.un file e cartella include nel nuovo progetto Xcode.
    Come costruire un Obiettivo-C libreria statica?

    Come costruire un Obiettivo-C libreria statica?

    Nel nuovo progetto, non dovrete fare niente altro, oltre a importare il file di intestazione che si desidera utilizzare, ma non è necessario modificare il collegamento bandiere, o intestazione percorsi di ricerca. Sarà solo lavoro.

    (qualsiasi feedback è apprezzato) o si prega di modificare il mio post per migliorare la chiarezza.

    ** PUNTI BONUS ***
    Installare VVDocumenter https://github.com/onevcat/VVDocumenter-Xcode e utilizzare questo per documentare qualsiasi intestazione.h i file che potrai condividere con la biblioteca.

    Ora qualcuno che utilizza la libreria può optare+clic per visualizzare contesto d’aiuto per classi.

    Come costruire un Obiettivo-C libreria statica?

    • Ciò è impressionante! Xcode di Apple hanno percorso una lunga strada da quando ho chiesto alla mia domanda originale & questo è il modo in cui lo faccio ora. cocoapods.org sembra promettente anche se siete in rubino modo di fare le cose.
    • Incredibile risposta del tizio. Molte grazie!
  2. 12

    Ho finito per trovare questo tutorial e funzionava davvero bene. Se qualcuno vorrebbe ancora offrire assistenza, si prega di fare e io molto probabilmente di votarlo e segnare come accettato di rispondere.

    • Può l’hai solo indicare accettato di rispondere?
    • Qualcuno può fare riferimento a un più recente tutorial?
    • raywenderlich.com/41377/… È quello che sto usando. Verso la fine del 2013, in modo più attuale.
    • Sì raywenderlich.com è impressionante. Grazie per la condivisione! Mi raccomando di postare come risposta, come ci sono un sacco di persone sono alla ricerca di una recente esercitazione.
    • fatto. Grazie per il feedback. Speriamo che la nuova risposta, funziona un po ‘ meglio. Giovanni.
  3. 11

    (utilizzando il tutorial di come un punto di partenza)

    ora di creare un secondo target in biblioteca xcodeproj per gli altri OS.

    configurare ogni destinazione sdk impostazioni utilizzando un xcconfig file (uno per ogni sistema operativo). il riutilizzo di questi xcconfig file nelle altre librerie. questo consente anche una facile globale di controllo delle impostazioni di generazione.

    configurare il collegamento e la dipendenza riferimenti nel target (app) come al solito, ma selezionare la corretta raccolta di destinazione.

    aggiungere un aggregato di destinazione per il progetto di biblioteca per il semplice meta-compilation/facile manutenzione.

    — o —

    fare tutto con l’introduzione di un livello di scripting o la creazione di un custom tool di build.

    • +1, pensieri interessanti.

Lascia un commento