Интерфейс Builder не может видеть классы в статической библиотеке

Я переделал некоторые подклассы UIView в статическую библиотеку. Однако при использовании Interface Builder для создания компонентов представления для проекта, использующего статическую библиотеку, я обнаруживаю, что он не знает классов библиотеки. Что мне нужно сделать, чтобы интерфейсы классов были видны для интерфейса Builder?

Обновление: Правильный ответ относится к перетаскиванию заголовков в "браузер XIB". Файлы ".h" можно перетащить из окна поиска в область окна, указанную на этом изображении:

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

Ответ 1

Попробуйте перетащить статическую библиотеку в свой браузер xib в Interface Builder. Я не пробовал это со статической библиотекой, но концепция такая же. Когда вы перетаскиваете заголовочные файлы в IB, вы можете получить доступ к этим классам.

Ответ 2

LexH, попробуйте связать флаг -ObjC при создании вашей статической библиотеки. Это сработало для меня... около года:-) Я нашел этот пост, поскольку проблема вернулась с новой установкой OSX и обновлением xcode. Но он работал в XCode 3.1.2.

  • Дэвид

Ответ 3

Добавьте ту же проблему, что и LexH. Он работал только тогда, когда я назвал метод классного класса. Проблема заключалась в том, что я не добавлял свою статическую библиотеку в "бинарную ссылку с библиотеками" под целевой настройкой. Странно все остальное работало.

Я следил за этим руководством, чтобы связать мой статический lib Создать статический lib

Ответ 4

У меня была та же проблема. Перетаскивание библиотеки или заголовков в XIB Browser не помогло. Чтение файлов классов не работает. Поэтому я позвонил:

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

Это сработало. version - метод класса NSObject, поэтому все подклассы NSObject наследуют его.