2009-06-29 12 views
13

Ich habe einige UIView-Unterklassen in eine statische Bibliothek umstrukturiert. Wenn Sie den Interface Builder zum Erstellen von Ansichtskomponenten für ein Projekt verwenden, das die statische Bibliothek verwendet, stelle ich jedoch fest, dass die Bibliotheksklassen nicht berücksichtigt werden. Was muss ich tun, um die Klassenschnittstellen für den Interface Builder sichtbar zu machen?Interface Builder kann Klassen in einer statischen Bibliothek nicht sehen

Update: Die richtige Antwort bezieht sich auf das Ziehen der Header in den 'XIB-Browser'. Die ‚.h‘ Dateien können in diesem Bild identifiziert von einem Finder-Fenster auf dem Fensterbereich gezogen werden:

alt text http://img211.imageshack.us/img211/1221/xibbrowser.png

+0

gute Frage, gute Lösung - danke Teabot und Reed Olsen! – Till

Antwort

8

Versuchen Sie, die statische Bibliothek in Ihrem Browser xib in Interface Builder ziehen. Ich habe das nicht mit einer statischen Bibliothek versucht, aber das Konzept ist das gleiche. Wenn Sie Header-Dateien in IB ziehen, können Sie auf diese Klassen zugreifen.

+0

Das Ziehen der Header-Dateien direkt in den XIBs Browser/Explorer funktionierte - Ziehen der statischen Bibliothek nicht. – teabot

4

LexH, versuche beim Erstellen deiner statischen Bibliothek mit dem -ObjC-Flag zu verlinken. Das funktionierte für mich ... für ungefähr ein Jahr :-) Ich fand diesen Beitrag, als das Problem mit einer frischen OSX-Installation und einem Upgrade in xcode zurückkehrte. Aber es funktionierte in XCode 3.1.2.

  • David
+0

Das hat bei mir funktioniert. – RajV

1

das gleiche Problem wie Lexh hinzufügen. Es funktionierte nur, wenn ich eine Dummy-Klassenmethode anrief. Das Problem war, dass ich meine statische Bibliothek nicht zu dem "Link Binary mit Bibliotheken" unter Ziel hinzugefügt habe. Seltsamerweise hat alles andere funktioniert.

folgte ich diese Anleitung mit meinem statischen lib Create static lib

1

Ich hatte das gleiche Problem zu verknüpfen. Das Verschieben der Bibliothek oder der Header in den XIB-Browser funktionierte nicht. Lese Class Files hat nicht funktioniert. Also rief ich an:

[MyLibraryClass version]; // Substitute your class name for "MyLibraryClass". 

Dies funktionierte. Version ist eine Klassenmethode von NSObject, also erben alle Unterklassen von NSObject.

Verwandte Themen