2009-04-30 14 views
8

Ich habe eine statische Bibliothek, die einige XIBs enthält. Diese werden grundsätzlich projektübergreifend gleich sein. Ich möchte die XIBs als Teil der Bibliothek einschließen. Ich kann ihre veiwcontrollers einschließen, diese Controller in dem aufrufenden Projekt referenzieren, aber dann gibt es kein Xib zu laden. Wenn ich mit der rechten Maustaste auf das Xib im Bibliotheksprojekt klicke, kann es nicht Teil des Ziels sein.Verpacken eines Bundles mit einer statischen Bibliothek

Ich dachte über das Erstellen eines CFPluginBundle, aber das erstellt ein neues Projekt. Ich würde alle meine IBOutlet- und IBAction-Referenzen verlieren. Was ist der beste Weg, um XIBs wiederzuverwenden, die auch Ausgänge und Aktionen für bestimmte Controller haben?

Antwort

0

Ich bin mir nicht sicher, was Sie mit "die Xibs als Teil der Bibliothek einbeziehen", da statische Bibliotheken keine Ressourcen haben können - aber sie werden auch nicht Stand-Alone ausgeliefert, so dass sie nicht müssen. Wenn Sie Code nur für Ihre eigenen Projekte wiederverwenden möchten, können Sie die XIBs immer dort behalten, wo Sie die statische Bibliothek behalten, und einfach die XIBs in jedes Projekt einfügen, das die Bibliothek verwendet.

Wenn Sie die CFPluginBundle-Route verwenden, können Sie neue Bündelziele in einem vorhandenen Projekt erstellen. Es gibt nichts Magisches an den Vorlagen, sie kümmern sich nur darum, Dummy-Dateien zu erstellen und die richtigen Build-Einstellungen zu aktivieren. Sie können diese in ein neues Ziel in Ihrem bestehenden Projekt kopieren und es wird gut funktionieren. Das heißt, ich bin mir nicht sicher, was Sie meinen, wenn Sie IBOutlet- und IBAction-Referenzen verlieren, da diese Informationen Teil der xib (und der Klasse, die Sie in der xib verwenden), nicht des Projekts.

2

Ich hatte das gleiche Problem, wenn ich für andere Entwickler mein Projekt exportieren als Bibliothek wollte zu verwenden. Ich fand die perfekte Lösung für meine Sicht und es scheint, dass es auch dir antworten wird.

Es gibt ein xcode-Plugin, mit dem Sie Ihr Projekt als eine Bibliothek erstellen können, die auch die Ressourcen enthält.

https://github.com/kstenerud/iOS-Universal-Framework

Ich weiß nicht, die Leute, die dieses Plugin gebaut, aber es wirkt wie ein Zauber

+0

Wie haben Sie die Spitze Referenzierung am Ende? Ich versuche initWithNibName: Bundle, aber ich weiß nicht, was ich im Bundle einfügen soll. – OlivaresF

+1

Ich benutze Nib-Dateien und andere Ressourcen wie eine normale Anwendungsentwicklung. Dieses Tool schließt das gesamte Projekt in einem Ordner ein, in dem die statische Bibliothek und die Ressourcen getrennt sind. Die App, die diese Bibliothek einschließen möchte, muss auf den gesamten Ordner verweisen, der von diesem Tool einschließlich des Ressourcenordners und nicht nur der Binärdatei exportiert wurde –

Verwandte Themen