2016-01-17 12 views
6

Come di Xcode 7, ci sono alcuni biblioteca/quadro opzioni di collegamento in XcodeQuali sono le librerie che collegano le opzioni in Xcode?

applicazione Preferiti Target nella scheda progetto

General -> Embedded Binaries 
General -> Link Frameworks and Libraries 
Build Phases -> Target Dependencies 
Build Phases -> Link Binary with Libraries 

Ecco alcuni modi che ho trovato

  • Utilizzando Alamofire mostra Embedded Binaries opzione

Alamofire.framework viene aggiunto automaticamente come dipendenza di destinazione, framework collegato e framework incorporato in una fase di creazione di file di copia, che è tutto ciò che è necessario creare sul simulatore e su un dispositivo.

  • Creating your first iOS Framework mostra che l'aggiunta del Library.xcodeproj nello spazio di lavoro, quindi Build Phases -> Link Binary with Libraries

  • Carthage Tutorial: Getting Started mostra che trascina Library.framework in General -> Link Frameworks and Libraries. Sembra General -> Link Frameworks and Libraries e Build Phases -> Link Binary with Libraries sono gli stessi

  • Carthage sembra distinguere tra iOS e OS X.

Se si sta costruendo per OS X: Da obiettivi applicativi ‘Generale’ scheda impostazioni, nella sezione "Binari incorporati", trascinare e rilasciare ciascun framework che si desidera utilizzare dalla cartella Carthage/Build sul disco.

Se si sta costruendo per iOS, TVOS, o watchos: sulla vostra applicazione scheda delle impostazioni ‘Generali’ bersagli, nei ‘quadri collegati e Biblioteche’ nella sezione, trascinare e rilasciare ogni quadro che si desidera utilizzare da la cartella Carthage/Build sul disco.

Lettura Linking to a Library or Framework, sappiamo che queste opzioni riguardano il collegamento di un framework alla nostra applicazione/framework.

Ma quali sono le differenze tra loro? C'è una singola opzione a catch all per tutti?

risposta

3

Per quadri dinamici costruiti con Cartagine io di solito uso questa configurazione:.

  • Collegamento biblioteca qualsiasi bersaglio che si desidera utilizzare in Hai bisogno di questo per essere in grado di importare il quadro nel codice.
  • Incorpora la libreria solo nella destinazione dell'app contenente. Questo in realtà copierà il framework nel tuo pacchetto di app. Se non lo si incorpora, l'app si arresterà in modo anomalo all'avvio, poiché non è possibile trovare il framework.

Solo il target dell'app è responsabile dell'inclusione di tutti i framework e delle relative dipendenze. In questo modo se un'estensione e l'app utilizzano entrambi un framework, sarà distribuito con l'app solo una volta.

Per l'interfaccia Xcode:

  • trascinando un quadro in generale -> binari incorporati aggiungerà il quadro di riferimento per entrambi i "Link binari con le librerie" e "Incorpora Frameworks" costruire fasi
  • trascinando un quadro in Generale -> Framework e librerie collegate aggiungeranno il framework solo alla fase di compilazione "Link Binary With Libraries".

Le viste in Generale sembrano essere riempite dalla scheda Fasi di costruzione in modo da poterne utilizzare entrambe.

Spero che abbia senso.

Modifica: Le dipendenze di destinazione sono solo gli obiettivi che devono essere creati prima che sia possibile creare l'obiettivo corrente. Pertanto, il tuo obiettivo dell'app dovrebbe elencare qui l'estensione, in modo che l'estensione venga creata ogni volta che crei la tua app.

Problemi correlati