2016-07-05 12 views
7

Ich habe gerade bemerkt, dass einige der Schoten, die ich erscheinen als Legosteine ​​hinzugefügt:Warum sehen einige verknüpfte Frameworks wie ein Lego aus, während andere eine Toolbox haben?

enter image description here

Und einige Schoten erscheinen als Werkzeugkästen:

enter image description here

in den verknüpften Bibliotheken und Frameworks Sektion. Als Ganzes, alle meine Schoten wie folgt aussehen:

enter image description here

Warum ist das so?

Da der Name des Abschnitts "verknüpfte Frameworks und Bibliotheken" ist, nehme ich an, dass eines der Symbole ein Framework darstellt und das andere eine Bibliothek darstellt? Aber welches ist was? Und woher weiß Xcode, dass es ein Framework oder eine Bibliothek ist? Ich habe die podspecs der Pods überprüft, aber ich habe nichts über Frameworks/Bibliotheken gefunden.

Antwort

2

Toolbox ist ein Standardsymbol für CocoaTouchFramework und es ist in der Regel bedeutet, dass es Foundation Framework verwendet.

White Cube (Legosteine) bedeutet Bundle. Das kann verknüpfen, was Sie brauchen, es kann eine Packung Localized.strings (ex: ZendeskSDK) oder andere Vermögenswerte sein.

Bitte beachten Sie, dass es einen Unterschied gibt zwischen der Darstellung innerhalboder Embedded Binaries als innerhalb Finder.

enter image description here

Und Rahmen sowohl mit Simulator und Gerät arbeiten müssen mit unterschiedlichen Architekturen (x86_64) vs (ARMv7, arm64) gebaut werden. Und es wird von Xcode gehandhabt, was man von .framework nehmen kann, da man es nicht manuell mit anderer Architektur verknüpfen muss. Also in Xcode Sicht haben Sie immer in diesem Abschnitt rechts .framework Datei bereit für Ihre Architektur, so dass es als Toolbox angezeigt werden kann. In Ihrem Fall enthält die Bibliothek LTHPasscodeViewController kein Autobuilding-Schema (wie zB SwiftyJSON). No xcodeproject neben Demo, Klassen sind nicht mit .xcodeproj verknüpft, so ist es nicht von CocoaTouchFramework erstellt.

Wenn Sie ein neues Projekt von Xcode auswählen und Cocoa Touch Framework wählen, wird das Projekt für Sie erstellt. Wenn Sie kein Projekt haben, ist es nur bundle (spielt keine Rolle, hat .framework Erweiterung).