¿Por qué el compilador Xcode no me advierte sobre métodos no válidos para mi Destino de implementación?

Tengo un proyecto Xcode (4.3.2) con el último SDK que me gustaría que los usuarios de iOS 4.0 puedan ejecutar. Por lo tanto, en la configuración del proyecto, he establecido el valor de Destino de la implementación en iOS 4.0. Es lo mismo en la configuración de Objetivos.

Sin embargo, me acabo de dar cuenta de que mi código está usando una llamada a la API de iOS 5+. Éste:

<code>[self.tabController.tabBar setBackgroundImage:tabBackground];      //Invalid in iOS 4.x ???
</code>

El compilador no me está dando ninguna advertencia. ¿No debería? ¿Qué hará esto cuando se ejecute en un dispositivo iOS 4.0? Lamentablemente, no tengo uno para probar en la actualidad. Esto me hace extremadamente preocupado de que haya otros lugares en los que está sucediendo lo mismo y mi programa ahora está totalmente relacionado con iOS 5.

Respuestas a la pregunta(1)

Su respuesta a la pregunta