Método de categoria de chamada de seletor não reconhecido na biblioteca estática do iOS

Estou usando algum software de terceiros para ajudar a escrever um aplicativo para iPad usando o Xcode 4.3.2. O software é de código aberto e geralmente é configurado para que seu código seja compilado junto com o código que o desenvolvedor escreve para o aplicativo. Como eu estava usando o software em vários lugares, decidi criá-lo como uma biblioteca estática para o simulador do iOS.

Eu era capaz de construir a biblioteca e converter um aplicativo para vincular a essa biblioteca em vez de compilar o código-fonte original. No entanto, quando vou executar o aplicativo no simulador, recebo um erro que diz:seletor não reconhecido enviado para instância.

Eu verifiquei que o programa está usando com êxito partes da biblioteca estática. No entanto, há um código que tenta chamar um método em um objeto e aquele em que a falha ocorre. O método que está sendo chamado não está realmente definido na interface desse objeto. Pelo contrário, é fornecido em um módulo adicional que define uma categoria para a classe desse objeto. O arquivo de cabeçalho para esse módulo está incluído corretamente e o compilador deve ter sido capaz de encontrar o método de categoria e aplicá-lo ao objeto, mas em tempo de execução, o erro mencionado acima ocorre.

Eu usei o comando 'nm' para verificar se o método de categoria existe na biblioteca estática. Aqui está um exemplo da saída:

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

Quais idéias as pessoas têm sobre como essa biblioteca pode funcionar corretamente com o aplicativo desejado?

questionAnswers(2)

yourAnswerToTheQuestion