Je viens de télécharger le package Xcode 4.2 avec iOS 5 SDK et j'ai immédiatement remarqué que je ne pouvais pas utiliser mon iPhone 3G avec iOS 4.2.1 pour le débogage. Je ne peux déboguer et tester que sur mon iphone 4 avec iOS 5 installé.
Pour l'un de mes appareils exécutant un iOS inférieur à 5,0, Xcode dit simplement "Fin de l'exécution pour iPhone3GS" et ne l'exécute pas. Mon objectif de déploiement est défini sur 3.0 car je n'utilise aucune fonctionnalité de mon application supérieure à 3.0 et je souhaite pouvoir cibler toutes les versions 3.0 ou supérieures. J'ai tous mes profils d'approvisionnement installés et à jour.
J'ai quitté et redémarré xcode, j'ai nettoyé la compilation plusieurs fois. J'ai essayé d'ajouter armv6 dans les paramètres de construction de l'architecture, mais rien ne me permettra de créer et d'exécuter mon application sur mon ancien téléphone avec ios 4.2.1.
Ma question est la suivante: est-il possible de toujours faire fonctionner des applications avec le nouveau SDK pour les versions iOS inférieures à 5? Comment puis-je être sûr que mon application fonctionnera toujours sur des versions iOS inférieures si je ne parviens pas à les installer sur mon ancien téléphone?
Edit: OK, il semble que le SDK iOS 5 a abandonné le support pour armv6 par défaut. Ce que vous devez faire est d'ajouter armv6 dans le champ Architectures sous Paramètres de construction pour votre cible et votre projet. Ensuite, votre application pourra fonctionner sur les appareils iPhone 3G. La réponse peut être trouvée ici Comment construire pour les architectures armv6 et armv7 avec iOS 5
iOS
versions. Veuillez également ajouter la modification en tant que réponse afin que vous puissiez accepter la solution que vous avez trouvée et que cette question puisse être marquée comme réponse.