J'ai récemment téléchargé le paquet Xcode 4.2 avec iOS 5 SDK et j'ai immédiatement remarqué que je ne peux pas utiliser mon iPhone 3Gs avec iOS 4.2.1 pour le débogage. Je suis seulement capable de déboguer et de tester sur mon iPhone 4 avec iOS 5 installé.
Pour tous mes appareils fonctionnant sous un iOS inférieur à 5.0, Xcode indique simplement "Finished running for iPhone3GS" et ne l'exécute pas. J'ai défini ma cible de déploiement à 3.0 parce que je n'utilise pas de fonctionnalités dans mon application au-dessus de 3.0 et je veux être capable de cibler toutes les versions 3.0 ou supérieures. Tous mes profils de provisionnement sont installés et à jour.
J'ai quitté et redémarré xcode, j'ai nettoyé la construction plusieurs fois. J'ai essayé d'ajouter armv6 dans les paramètres de construction de l'architecture, mais rien ne me permet de construire et d'exécuter mon application sur mon vieux téléphone avec ios 4.2.1.
Ma question est la suivante : est-il possible de faire fonctionner des applications avec le nouveau SDK pour des versions d'iOS inférieures à 5 ? Comment puis-je être sûr que mon application fonctionnera toujours sur les versions inférieures d'iOS si je ne peux pas les installer sur mon ancien téléphone ?
Edit : OK, il semble que le SDK 5 d'iOS ait abandonné le support de l'armv6 par défaut. Ce que vous devez faire est d'ajouter armv6 dans le champ Architectures sous Build Settings pour votre cible et votre projet. Votre application sera alors capable de fonctionner sur les appareils iPhone 3G. La réponse se trouve ici Comment construire pour les architectures armv6 et armv7 avec iOS 5