title: App Store - Method Swizzling Legality
body: <p>Is there any current information on wether or not method swizzling is legal/illegal on the App Store?</p>
  
  <p>The only data point I can find is the <a href="http://groups.google.com/group/three20/browse_thread/thread/ea606b4114565e75" rel="noreferrer">Three20 framework shakeup</a> a while back, which started with this notice:</p>
  
  <blockquote>
    <p>Your application, xxx, currently posted to the App Store  is using 
    method_exchangeImplementations to exchange the implementation of Apple
    provided APIs with your own implementations.  Because of upcoming 
    changes, this behavior in your application may cause a crash or cause 
    user data loss on iPhone OS 4.0. </p>
    
    <p>xxx uses method_exchangeImplementations to exchange the implementation
    of dealloc with your method ttdealloc.  It also exchanges the 
    implementation of the method popViewControllerAnimated: with your 
    method popViewControllerAnimated2:. </p>
    
    <p>Please resolve this issue immediately and upload your new binary to 
    iTunes Connect. We may remove your application if we believe that 
    doing so is prudent or necessary.</p>
  </blockquote>
  
  <p><br></p>
  
  <p>When I'm searching around, every recent conversation I can find about swizzling and the app store seems to reference the same Three20 incident.  The notice seems to be pretty specific, and I'm wondering if the issue was specific changes issues with the changes Three20 had made or if method_exchangeImplementations is universally banned.</p>
  
  <p>Are there any other data points about whether or not the practice is allowed?  Are there any devs with Apps in the store that are using swizzling?</p>
  
  <p>Thanks!</p>