Files
flipper/iOS/Plugins/FlipperKitPluginUtils/FlipperKitLayoutHelpers/FlipperKitLayoutHelpers/SKSwizzle.mm
Pritesh Nandgaonkar 966a027c5b Add dependencies to layouthelper and ios descriptor pods (#2140)
Summary:
This diff makes sure that pod lib lint succeeds and the CI is green for iOS.

It got broken when I landed my changes for the refactoring of FlipperKitLayoutPlugin. It wasn't picked up by flipper-oss-ios-job as it builds sample app and sample app had all the paths to the header search path which individually FlipperKitLayoutHelpers and FlipperKitIOSDescriptors were missing.

I will add the validation of pods as a job in sandcastle when one touches FlipperKit pods, this will avoid such cases in future.

## Changelog

Pull Request resolved: https://github.com/facebook/flipper/pull/2140

Test Plan:
Imported from GitHub, without a `Test Plan:` line.

iOS jobs are green on CI in GH.

Reviewed By: passy

Differential Revision: D27417743

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 17aa4b04bf9954c4bd138261103751a245409568
2021-03-31 04:30:03 -07:00

37 lines
923 B
Plaintext

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#if FB_SONARKIT_ENABLED
#import "SKSwizzle.h"
#import <Foundation/Foundation.h>
#import <objc/runtime.h>
void swizzleMethods(Class cls, SEL original, SEL swissled) {
Method originalMethod = class_getInstanceMethod(cls, original);
Method swissledMethod = class_getInstanceMethod(cls, swissled);
BOOL didAddMethod = class_addMethod(
cls,
original,
method_getImplementation(swissledMethod),
method_getTypeEncoding(swissledMethod));
if (didAddMethod) {
class_replaceMethod(
cls,
swissled,
method_getImplementation(originalMethod),
method_getTypeEncoding(originalMethod));
} else {
method_exchangeImplementations(originalMethod, swissledMethod);
}
}
#endif