iphone - rastrear - icloud
Método Swizzle en un dispositivo iPhone (1)
El wiki CocoaDev tiene una extensa discusión sobre el método swizzling here . Mike Ash tiene una implementación relativamente simple en la parte inferior de esa página:
#import <objc/runtime.h>
#import <objc/message.h>
//....
void Swizzle(Class c, SEL orig, SEL new)
{
Method origMethod = class_getInstanceMethod(c, orig);
Method newMethod = class_getInstanceMethod(c, new);
if(class_addMethod(c, orig, method_getImplementation(newMethod), method_getTypeEncoding(newMethod)))
class_replaceMethod(c, new, method_getImplementation(origMethod), method_getTypeEncoding(origMethod));
else
method_exchangeImplementations(origMethod, newMethod);
}
No he probado esto, simplemente porque considero que el método swizzling es un proceso extremadamente peligroso y no he tenido la necesidad de usarlo todavía.
Intenté tanto JRSwizzle como MethodSwizzle. Recopilan bien en el simulador pero arrojan un montón de errores cuando intento compilar para Device (3.x)
¿Alguien ha tenido suerte en el iPhone? ¿Cuál es el truco?
TIA