2009-05-18 10 views
1

Ich habe ein benutzerdefiniertes Steuerelement und ein Framework/IB-Plugin dafür mit der IB3-Plugin-Vorlage erstellt.Xcode wird kein IB-Plugin im Ressourcen-Ordner erstellen

Laut den Dokumenten sollte das Plugin direkt in das Ressourcenverzeichnis des Frameworks eingebaut werden. Wenn ich mein Projekt erstelle, befindet sich das Plugin zusammen mit dem Framework im Konfigurationsordner (Debug).

Dies ist das gleiche Verhalten direkt aus der Box, wenn ich eine neue Vorlage erstellen. Ich habe versucht, die CONFIGURATION_BUILD_DIR zu $(BUILD_DIR)/$(CONFIGURATION)/FrameworkName.framework/Resources/ zu ändern, bekam aber keine Änderung.

Für grins habe ich auch versucht, mit dem Installationspfad zu verwirren, aber auch nirgendwohin. Ich habe ein paar andere Open-Source-Projekte ausgecheckt, um ihre Build-Einstellungen zu überprüfen, aber sie sind identisch mit meinen eigenen und trotzdem wird ihr Plugin erstellt und wie erwartet in das Ressourcen-Verzeichnis geschrieben.

Antwort

1

Ordnen Sie sich nicht mit Build-Einstellungen. Fügen Sie stattdessen eine Build-Phase "Copy Files" zum Framework-Ziel hinzu. Legen Sie im Inspektor für die Buildphase der Kopierdateien das Verzeichnis auf "Ressourcen" fest. Fügen Sie das Plug-in zu dieser Erstellungsphase hinzu, indem Sie das Plug-in-Produkt aus der Gruppe "Produkte" in der Struktur "Gruppen & Dateien" in Xcode ziehen.

0

Danke, Barry. Als ich versuchte, eine Kopierdatei-Build-Phase zu verwenden, konnte IB die Verbindung zwischen dem Framework und dem Plugin nicht auflösen. Es konnte das zugehörige Plugin aus irgendeinem Grund nicht finden.

Aber nach endlosem Hantieren fand ich, dass ich näher war als ich dachte. Ändern der CONFIGURATION_BUILD_DIR zu:

$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FrameworkName.framework/Resources/ 

und Aktualisierung der Rahmensuchpfade löste das Problem für mich. Dies ist nicht das Verhalten der Plugin-Vorlage (zumindest auf meinem Rechner), also hoffentlich hilft das jemand anderem.

0

Um das erstellte Produkt eines Xcode-Ziels in das Ressourcenverzeichnis eines anderen Xcode-Zielprodukts aufzunehmen, sollten Sie das Produkt in der Gruppen- und Dateistruktur finden und das Produkt in die Kopie "Bundle-Ressourcenphase" ziehen das andere Ziel. Sie sollten auch eine Zielabhängigkeit zwischen den beiden Zielen mit dem Get-Info-Panel für das Ziel hinzufügen.

Wenn das integrierte Plug-in im Build Products-Verzeichnis angezeigt wird, bedeutet dies nicht, dass es nicht auch in das Ressourcenverzeichnis des Frameworks kopiert wurde. Xcode erstellt alle Ziele in das Build-Verzeichnis und kopiert sie (kopiert sie nicht) in ihr endgültiges Ziel - in diesem Fall ist dies das Ressourcenverzeichnis des Frameworks. Ein Grund dafür ist, dass ein Produkt mehrere Endziele haben kann.

Verwandte Themen