Skip to content

Instantly share code, notes, and snippets.

@dfox
Created August 7, 2012 18:47
Show Gist options
  • Save dfox/3288252 to your computer and use it in GitHub Desktop.
Save dfox/3288252 to your computer and use it in GitHub Desktop.
Method Swizzling in UIApplication to Capture viewDidAppear:
#import "UIViewController+EventInterceptor.h"
#import "EventLogger.h"
#import <objc/runtime.h>
@implementation UIViewController (EventInterceptor)
+(void) load
{
//Replace the noop viewDidAppear with our own implementation
class_replaceMethod(self, @selector(viewDidAppear:), (IMP) viewDidAppear, "v@:@");
}
void viewDidAppear(id self, SEL _cmd, BOOL animated)
{
[EventLogger logEvent:EVENT_LOGGER_APPEARED forObject:[self view]];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment