A swizzling that works.
Either via SPM (recommended), or by copying NSObject+FRZSwizzling.{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 FRZSwizzling; /* 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
{
FSZ_CHECKED_SWIZZLE(NSView, setFrame:, MySetFrame, OriginalSetFrame);
}
@end
The include folder in the FRZSwizzling source code folder is there for SPM-compatibility.
It contains a special FRZSwizzling.h
umbrella header and a soft link to the other (public) header.
This project was originally created by François Lamboley while working at happn.