title: Why is the Xcode compiler not warning me about invalid methods for my Deployment Target?
body: <p>I have an Xcode (4.3.2) project with the latest SDK which I would like iOS 4.0 users to be able to run.  So in project settings I have set the Deployment Target value to iOS 4.0.  It is the same in the Targets settings.</p>
  
  <p>However, I just realized my code is using an iOS 5+ API call.  This one:</p>
  
  <pre><code>[self.tabController.tabBar setBackgroundImage:tabBackground];      //Invalid in iOS 4.x ???
  </code></pre>
  
  <p>The compiler is not giving me any warnings.  Shouldn't it???  What will this do when executed on an iOS 4.0 device?  Sadly, I don't have one to test on currently.  This makes me extremely worried that there are other places where the same thing is happening and my program is now hopelessly tied to iOS 5.</p>