Нераспознанный селектор, вызывающий метод категории в статической библиотеке iOS

Я использую стороннее программное обеспечение, чтобы помочь в написании приложения для iPad с использованием Xcode 4.3.2. Программное обеспечение имеет открытый исходный код и обычно настраивается таким образом, что его код будет скомпилирован вместе с любым кодом, который разработчик пишет для приложения. Поскольку я использовал это программное обеспечение во многих местах, я решил создать его как статическую библиотеку для симулятора iOS.

Мне удалось собрать библиотеку и преобразовать одно приложение для связи с этой библиотекой вместо того, чтобы компилировать исходный код. Однако, когда я запускаю приложение на симуляторе, я получаю сообщение об ошибке: нераспознанный селектор отправлен экземпляру .

Я убедился, что программа успешно использует части статической библиотеки. Однако есть один фрагмент кода, который пытается вызвать метод для объекта, и именно здесь происходит сбой. Вызываемый метод фактически не определен в интерфейсе этого объекта. Скорее он предоставляется в дополнительном модуле, который определяет категорию для класса этого объекта. Файл заголовка для этого модуля правильно включен, и компилятор должен был найти метод категории и применить его к объекту, но во время выполнения возникает упомянутая выше ошибка.

Я использовал команду «nm», чтобы убедиться, что метод категории существует в статической библиотеке.Вот пример вывода:

nm libStaticLibrary.a | grep categoryMethod
00000130 t -[SomeClass(Category) categoryMethod:]
0000354c s -[SomeClass(Category) categoryMethod:].eh

Какие у людей есть идеи о том, как заставить эту библиотеку правильно работать с желаемым приложением?

12
задан Pfitz 4 May 2012 в 05:57
поделиться

0 ответов