A swizzling that works.
Either via SPM (recommended), or by copying NSObject+HPNSwizzling.{h,m}
into your project.
The repository does have an xcodeproj
with a shared scheme for debug purposes.
The project might be compatible with Carthage–or not.
It is not officially supported but might work for you.
@import HPNSwizzling; /* If installed via SPM. */
@implementation NSView (MyViewAdditions)
static void MySetFrame(id self, SEL _cmd, CGRect frame);
static void (*OriginalSetFrame)(id self, SEL _cmd, CGRect frame);
static void MySetFrame(id self, SEL _cmd, CGRect frame) {
// ***** CUSTOM WORK HERE *****
OriginalSetFrame(self, _cmd, frame);
// ***** OR HERE *****
}
+ (void)load
{
CHECKED_SWIZZLE(NSView, setFrame:, MySetFrame, OriginalSetFrame);
}
@end
The include folder in the HPNSwizzling source code folder is there for SPM-compatibility.
It contains a special HPNSwizzling.h
umbrella header and a soft link to the other header.
This project was originally created by François Lamboley while working at happn.