Método C objetivo Swizzling usando a biblioteca dinâmica

Estou tentando aprender método swizzling. Eu criei um programa no objetivo C que apenas chama um método dentro de sua classe. Agora, estou tentando carregar uma biblioteca dinâmica usando DYLD_INSERT_LIBRARIES para substituir a implementação do método por um novo método definido na minha biblioteca dinâmica. O objetivo é modificar o argumento e, em seguida, chamar a chamada de função origina

código do programa está disponível emhttp: //pastebin.com/a0b3qkg O código da biblioteca dinâmica está disponível emhttp: //pastebin.com/Ndf6VdU

O que eu observei que assim que a linha "if (self == [classe de criptografia]) {" é executada na biblioteca dinâmica, o código exibe o nome da classe e depois cuspe uma mensagem estranha. Saída completa:

Test-IPhone:~ root# DYLD_INSERT_LIBRARIES="./evil7.dylib" ./new
objc[324]: Class Encryption is implemented in both /private/var/root/evil7.dylib and /private/var/root/./new. One of the two will be used. Which one is undefined.
Inside load function
objc[324]: Encryption: 
Trace/BPT trap

Não sei ao certo o que há de errado com o código. Qualquer ajuda seria apreciada

objetivo é substituir os métodos objetivos C usando a biblioteca dinâmica (injeção de código