title: Method swizzling not woking in Cocoa pod
body: <p>I'm developing a pod which should use method swizzling at some point and I have a problem to call swizzled method when calling original one.
  I checked my swizzling in the simple POC (to be sure my swizzling is ok) and it works perfectly fine, but as cocoa pod (with mark use_framework in pod file even) it doesn't work, so I was debugging it and method exchange happens, it finds original method and swizzled method implementations, etc. but swizzled method doesn't get called which should happen in the main app, that has my pod.
  <strong>method swizzling is written using objective-c</strong>
  Anyone had such problems?
  <strong>Code from my POC</strong></p>
  <p><strong>Swizzler</strong></p>
  <pre class="lang-objectivec prettyprint-override"><code>- (BOOL)swizzleClass:(Class)class
  replaceInstanceMethod:(SEL)methodSelector1
            withMethod:(SEL)methodSelector2 {
      
      if (!class || !methodSelector1 || !methodSelector2) {
          NSLog(@&quot;Nil Parameter(s) found when swizzling.&quot;);
          return NO;
      }
      
      Method method1 = class_getInstanceMethod(class, methodSelector1);
      Method method2 = class_getInstanceMethod(class, methodSelector2);
      
      if (method1 &amp;&amp; method2) {
          method_exchangeImplementations(method1, method2);
          return YES;
          
      } else {
          NSLog(@&quot;Swizzling Method(s) not found while swizzling class %@.&quot;, NSStringFromClass(class));
          return NO;
      }
  }
  </code></pre>
  <p><strong>Class category</strong></p>
  <pre class="lang-objectivec prettyprint-override"><code>+ (void)load {
      static dispatch_once_t once_token;
      dispatch_once(&amp;once_token,  ^{
          
          swizzler = [[Swizzler alloc] init];
           
           swizzleSuccess = [swizzler swizzleClass:self replaceInstanceMethod:@selector(wristLocation) withMethod: @selector(swizzled_wristLocation)];
           
           if (swizzleSuccess) {
               NSLog(@&quot;Successss  swizzle&quot;);
           } else {
               NSLog(@&quot;Cannot swizzle&quot;);
           }
          
      });
  }
  
  - (void)setLocation:(WKInterfaceDeviceWristLocation)location {
      testWristLocation =  [[NSNumber alloc] initWithInt: location];
  }
  
  - (WKInterfaceDeviceWristLocation)swizzled_wristLocation {
      NSLog(@&quot;Called swizzled method .&quot;);
      [self swizzled_wristLocation];
      return [testWristLocation intValue];
  }
  </code></pre>
  <p><strong>Class where I call it</strong></p>
  <pre class="lang-swift prettyprint-override"><code>@IBOutlet weak var locationLabel: WKInterfaceLabel!
      
      override func awake(withContext context: Any?) {
          
          WKInterfaceDevice.current().setLocation(WKInterfaceDeviceWristLocation.right)
          
          updateLocation()
      }
      
      @IBAction func checkLocation() {
          updateLocation()
      }
      
      dynamic private func updateLocation() {
          let location = WKInterfaceDevice.current().wristLocation
          switch location {
          case .left:
              self.locationLabel.setText(&quot;left&quot;)
          case .right:
              self.locationLabel.setText(&quot;right&quot;)
          @unknown default:
              self.locationLabel.setText(&quot;unknown&quot;)
          }
      }
  </code></pre>