Интерфейс 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 наследуют его.