2016-07-05 72 views
7

Ho appena notato che alcuni dei baccelli che ho aggiunto apparire come una mattoncini Lego:Perché alcuni quadri collegati sembrano un pezzo di Lego, mentre altri come una cassetta degli attrezzi?

enter image description here

E alcuni baccelli vengono visualizzati come caselle degli strumenti:

enter image description here

nelle librerie e framework collegate sezione. Nel complesso, tutti i miei baccelli simile a questa:

enter image description here

Perché?

Poiché il nome della sezione è "Framework e librerie collegate", suppongo che una delle icone rappresenti un framework e l'altra rappresenti una libreria? Ma quale è quale? E come fa Xcode a sapere che è un framework o una libreria? Ho controllato le podspec dei pod ma non ho trovato nulla su framework/librerie.

risposta

2

Toolbox è un'icona standard per CocoaTouchFramework e di solito significa che esso utilizza Foundation quadro.

Cubo bianco (mattoncini lego) significa fascio. Ciò può collegare qualunque cosa tu abbia bisogno, può essere un pacchetto di Localized.strings (es: ZendeskSDK) o altre risorse.

Si noti che c'è una differenza tra il modo in cui viene visualizzato all'interno di Linked Frameworks and Libraries o Embedded Binaries di quanto non sia all'interno di Finder.

enter image description here

E quadro di lavorare sia con simulatore e dispositivo deve essere costruito con differenti architetture (x86_64) vs (ARMv7, arm64). Ed è gestito da Xcode cosa prendere da .framework, poiché non è necessario collegarlo manualmente a architetture diverse. Quindi, nel punto di vista Xcode, hai sempre in questa sezione il file corretto .framework pronto per la tua architettura, in modo che possa essere visualizzato come toolbox. Nel tuo caso la libreria LTHPasscodeViewController non contiene lo schema di costruzione automatica (come ad esempio SwiftyJSON). No xcodeproject oltre alla demo, le classi non sono collegate a .xcodeproj, quindi non viene creata da CocoaTouchFramework.

Quando si seleziona un nuovo progetto da Xcode e si sceglie Cocoa Touch Framework si crea un progetto per te. Quando non hai un progetto è solo bundle (non importa che abbia l'estensione .framework).