Si votre projet spécifie 4.0 comme cible, il ne sera même pas chargé sur le téléphone 3.2 - pas de problème. Lorsque vous publiez une application dans le magasin, vous spécifiez le niveau de système d'exploitation minimum et les périphériques acceptables (par exemple, vous ne cherchez pas le GPS sur un iPod Touch). Il y a un contrôle de compatibilité qui devrait empêcher le chargement d'une application si elle n'est pas compatible. Le processus d'approbation de l'application (espérons-le) s'assure que ce que vous avez dit est compatible. Si vous utilisez des API qui n'existent pas sur l'appareil (parce que vous ciblez une version antérieure à l'introduction de cette API ou pour toute autre raison), alors vous aurez un crash dû à un sélecteur inconnu. .
Vous pouvez utiliser
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 30200
pour vérifier la version que vous visez ... le premier numéro (3) est la révision majeure, le troisième numéro (2) est la révision mineure. Par conséquent, la vérification indiquée est pour 3.2.
Il n'y a pas de téléphones iOS 3.2. iOS 3.2 est/seulement/pour l'iPad. iOS 3.0 et 3.1 sont pour l'iPhone. –