diff options
Diffstat (limited to 'test/ios/LocationMocker/LocationMocker.m')
-rw-r--r-- | test/ios/LocationMocker/LocationMocker.m | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/ios/LocationMocker/LocationMocker.m b/test/ios/LocationMocker/LocationMocker.m new file mode 100644 index 0000000000..a32270413c --- /dev/null +++ b/test/ios/LocationMocker/LocationMocker.m @@ -0,0 +1,35 @@ +// +// Based on gist by Eric Allam +// https://gist.github.com/ericallam/5689235 +// + +#import "LocationMocker.h" +#import "CSSwizzler.h" +#import "CLLocationManager+MockLocation.h" + +@implementation LocationMocker + ++ (void)load +{ + [CSSwizzler swizzleClass:[CLLocationManager class] + replaceMethod:@selector(startUpdatingLocation) + withMethod:@selector(custom_startUpdatingLocation)]; + + [CSSwizzler swizzleClass:[CLLocationManager class] + replaceMethod:@selector(location) + withMethod:@selector(custom_location)]; + + [CSSwizzler swizzleClass:[CLLocationManager class] + replaceMethod:@selector(startUpdatingHeading) + withMethod:@selector(custom_startUpdatingHeading)]; + + [CSSwizzler swizzleClass:[CLLocationManager class] + replaceMethod:@selector(heading) + withMethod:@selector(custom_heading)]; + + [CSSwizzler swizzleClass:[CLLocationManager class] + replaceClassMethod:@selector(headingAvailable) + withMethod:@selector(custom_headingAvailable)]; +} + +@end |