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.
Ich habe über das Erstellen eines CFPluginBundle nachgedacht, 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?
Hier mehr Diskussion darüber: Can referenzieren Sie Xib-Dateien aus statischen Bibliotheken auf dem iPhone?
Ich hatte das gleiche Problem, als ich mein Projekt als eine Bibliothek für andere Entwickler exportieren wollte. 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.
Ich kenne die Leute nicht, die dieses Plugin erstellt haben, aber es funktioniert wie ein Zauber
Ich bin mir nicht sicher, was Sie mit "include die xibs als Teil der Bibliothek" meinen, da statische Bibliotheken keine Ressourcen haben können - aber sie werden auch nicht als Stand-alone ausgeliefert, so dass sie nicht benötigen zu. 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 damit meinen, IBOutlet- und IBAction-Referenzen zu verlieren, da diese Informationen Teil der xib (und der Klasse, die Sie in der xib verwenden), nicht des Projekts.
Tags und Links iphone xcode cocoa-touch xcodebuild xib