¿Cómo mezclar un método de clase en iOS?

El método swizzling funciona muy bien, por ejemplo, los métodos. Ahora, necesito mezclar un método de clase. ¿Alguna idea de cómo hacerlo?

Intenté esto pero no funciona:

void SwizzleClassMethod(Class c, SEL orig, SEL new) {

Method origMethod = class_getClassMethod(c, orig);
Method newMethod = class_getClassMethod(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);
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta