J'ai une vieille application que je maintiens. L'application a d'abord été compilée sur XCode 4.2. Si je prends exactement le même projet que je trouve et que je le compile sur XCode 4.6, je vais avoir des bugs étranges tels que ViewControllers qui ne sont pas rafraîchissants, Back ne fonctionne pas comme il le devrait, etc. Si je prends le même projet et que je le recompile sur xcode 4.2 sur mon autre machine, tout ira bien. Avant de creuser dans le code, quelqu'un peut-il me donner une idée de ce qui pourrait arriver? Mon principal suspect est le SDK de base de chaque Xcode. Cela a-t-il du sens?Le projet est buggé après la mise à niveau Xcode
Répondre
Je ne pourrais pas vous dire s'il y aura une différence entre 4.2 et 4.6, mais historiquement les cadres iOS sur l'appareil (et, dans une moindre mesure, le simulateur) s'adaptent légèrement en fonction de quelle version de le SDK une application a été compilée. Vous ne pouvez pas l'exclure.
Un exemple classique (quoique maintenant ancien) est le fond d'écran. Les applications créées à l'aide d'anciens SDK ont été arrêtées lorsque le bouton Accueil a été activé, plutôt que d'obtenir le comportement le plus récent. Des exemples plus récents (mais subtils) ont inclus plusieurs changements aux vues de table et des changements à la rotation de périphérique.
Vous devez et non essayer de construire avec un SDK plus ancien en utilisant un compilateur plus récent. Apple ne supporte pas ce type de configuration. Vous devriez toujours utiliser le dernier SDK. Et vous ne voudriez pas prétendre que ces problèmes n'existent pas, de toute façon: Les bugs sont réels, ils étaient juste cachés avant. Il est peu probable que vous ne puissiez pas corriger ces bogues de telle sorte que les anciennes versions d'iOS continuent de fonctionner (bien que vous puissiez découvrir qu'il ouvre une boîte de Pandore dont vous estimez qu'elle ne vaut pas la peine d'être corrigée). anciens systèmes d'exploitation).
- 1. "@" inattendu dans xcode après la mise à niveau de xcode
- 2. cadres manquants après la mise à niveau Xcode 3.2
- 3. Mise à niveau du projet Xcode vers la version 3.2
- 4. mise à niveau Xcode
- 5. Mise à niveau du projet XCode iPhone existant vers 3.2.3
- 6. OCUnit est obsolète. Erreur après la mise à niveau de Xcode vers 5.1
- 7. Mise à niveau Xcode perd option simulateur
- 8. xCode longs gèle après la mise à niveau vers la version 4.3.2
- 9. La requête mysql est lente après la mise à niveau
- 10. xcodebuild: "signature de code est nécessaire" erreur après la mise à niveau XCode 8.1 en utilisant
- 11. Mise à niveau de Frameworks/Xcode manquante?
- 12. Impossible d'exécuter le projet après la mise à niveau vers la jetée à 9
- 13. Le code fonctionnait avant la mise à niveau de Xcode
- 14. Le quaternion mix est buggé
- 15. Mise à niveau des meilleures pratiques Xcode
- 16. ZeroMQ lent après la mise à niveau
- 17. localstorage disponible après la mise à niveau
- 18. Compilez les erreurs sur le storyboard après la mise à niveau de Xcode vers 6.3
- 19. erreur après mise à jour Xcode
- 20. Erreurs avec redéfinitions après la mise à niveau vers XCode 3.2.3
- 21. iPhone Simulator Crash après la mise à niveau vers XCode 3.2.3
- 22. Erreurs de compilation après la mise à niveau vers XCode 4
- 23. App s'écraser lors de la mise à niveau xcode
- 24. Le projet ne peut pas être compilé après la mise à niveau vers gradle: 2.1.0-alpha5
- 25. Le projet d'installation Web supprime les fichiers après la mise à niveau de VS2008 vers VS2010
- 26. erreur dans la synchronisation du projet après la mise à niveau de Firebase à 9.2.0
- 27. Problèmes avec le fichier vrc après la mise à niveau du projet de XE vers XE2
- 28. java.lang.ClassNotFoundException après avoir rien changé dans le projet, mais la mise à niveau eclipse android sdk
- 29. Comment mettre à jour Xcode après la mise à niveau vers OS X Lion?
- 30. Crash d'application rapide après la mise à niveau vers la dernière version de XCode beta 3
Je ne pourrais pas vous dire s'il y aura une différence entre 4.0 et 4.2, mais historiquement les frameworks iOS * s'adaptent * légèrement en fonction de la version du SDK avec laquelle ils ont été compilés. Vous ne pouvez pas l'exclure. Et vous devriez le traiter comme des bogues dans votre application que les chemins de code touchés par l'ancien comportement mystérieusement ne frappent pas. –
Est-il possible de changer le SDK de base dans XCode 4.6 en IOS 5 au lieu d'iOS 6.1? Cela me résoudrait beaucoup de problèmes – Segev
Je soupçonne fortement que vous avez un problème dans votre code (bien que certains comportements dans iOS6 soient nouveaux ou fonctionnent différemment, c'est-à-dire la rotation automatique/mise en page automatique). Pourquoi ne pas modifier votre question pour inclure un exemple d'erreur et le code approprié? Vous aurez une bien meilleure chance de vous aider. –