2016-05-10 7 views
3

Ich versuche, meine Entwicklung zu optimieren, indem ich einige wiederverwendbare Frameworks mit Funktionen erstelle, die ich häufig in mehreren Projekten wiederverwende.Erstellen eines iOS-Frameworks mit Abhängigkeit von einem anderen, ohne Umbrella Framework zu erstellen

Allerdings, nachdem ich eines meiner Frameworks eingerichtet habe, habe ich ein Problem festgestellt, die Klassen hängen vom Firebase-Framework ab. Nach dem Lesen der Apple-Dokumente wird es nicht empfohlen, ein Umbrella-Framework zu erstellen (eines, das ein anderes einbettet), besonders wenn Sie nicht Eigentümer des eingebetteten Frameworks sind (was ich nicht).

Die Frage ist also:

Wie kann ich ein Rahmenprojekt erstellen, die mir den Rahmen erstellen können, ohne die Abhängigkeiten enthält, die einen Umbrella-Framework schaffen würde. Ich nehme an, das ist es, was Leute wie Firebase tun, denn wenn Sie ihr Framework hinzufügen, gibt es andere, die Sie Ihrem Projekt hinzufügen müssen. Ich kann nicht sehen, wie Sie ein Projekt so konfigurieren würden, dass Sie das Framework ohne Fehler erstellen können, ohne die Abhängigkeiten zu berücksichtigen.

Als Referenz verwende ich den neuesten Xcode und muss iOS 8 und höher unterstützen.

Vielen Dank im Voraus für alle Gedanken/Vorschläge zu dieser

+0

Wie haben Sie es erreicht? Ich möchte ein Framework erstellen, das Abhängigkeiten zu anderen Frameworks oder SDKs hat, sagen Facebook sdk. Wie soll ich das machen, damit ich meinen Nutzern nur 1 Rahmen geben kann? – anoop4real

Antwort

3

Zum Wohle eines jeden, der mit dem gleichen Problem zu kämpfen hat, ist die Antwort viel einfacher, als ich erwartet hatte.

Die Frameworks sind dynamisch verknüpft und das Hinzufügen eines Frameworks zum Projekt für Ihr eigenes Framework führt nicht dazu, dass es in die Ausgabedatei eingebettet wird und daher kein Umbrella Framework generiert. Sie müssen eigentlich nichts tun. Alle Frameworks, die von Ihrem eigenen Framework benötigt werden, können in Ihrem Projekt enthalten sein, so dass Sie Ihr eigenes Framework kompilieren können und auch in alle Projekte eingebunden werden müssen, die Ihr Framework verwenden.