#import "UIScreen+Debug.h" #import #import #import @implementation UIScreen (Debug) + (void)load { if (SCIsPerformanceLoggingEnabled()) { static dispatch_once_t once_token; dispatch_once(&once_token, ^{ SEL setBrightnessSelector = @selector(setBrightness:); SEL setBrightnessLoggerSelector = @selector(logged_setBrightness:); Method originalMethod = class_getInstanceMethod(self, setBrightnessSelector); Method extendedMethod = class_getInstanceMethod(self, setBrightnessLoggerSelector); method_exchangeImplementations(originalMethod, extendedMethod); }); } } - (void)logged_setBrightness:(CGFloat)brightness { SCLogGeneralInfo(@"Setting brightness from %f to %f", self.brightness, brightness); [self logged_setBrightness:brightness]; } @end