Je suis très nouveau dans ce domaine. J'ai suivi pas à pas le tutoriel d'Apple pour le projet iPhone "HelloWorld". Je l'ai exécuté dans le simulateur iPhone 5.0 et il s'est écrasé:
2012-11-02 14: 46: 06.782 HelloWorld [9880: c07] * Fin de l'application en raison d'une exception non interceptée 'NSInvalidUnarchiveOperationException', raison: 'Impossible d'instancier la classe nommée NSLayoutConstraint' * Première pile d'appels de lancement: (0x14a2052 0xea2d0a 0x144aa78 0x144a9d9 0x32 0x32f6b7 0x23036d 0xd7e2c 0xd83a9 0xd85cb 0x38a73 0x38ce2 0x38ea8 0x3fd9a 0x10be6 0x118a6 0x20743 0x211f8 0x14aa9 0x138cfa9 0x1476161c5 0x13db022 0x13d990a 0x13db022 0x13d990a 0x413d8 (terminaison 0x1)
Quelqu'un peut-il me dire ce qui ne va pas? J'utilise Xcode 4.5.
la source
Réponses:
Par défaut, lorsque vous créez un nouveau projet iOS dans Xcode 4.5, votre storyboard ou XIB est configuré pour utiliser la mise en page automatique, qui est une nouvelle fonctionnalité d'iOS 6.0. La
NSLayoutConstraint
classe fait partie du système Autolayout et n'existe pas dans les anciennes versions d'iOS.Si vous souhaitez déployer votre application sur une ancienne version d'iOS, vous devez modifier votre storyboard ou XIB pour ne pas utiliser la mise en page automatique. C'est une case à cocher dans l'inspecteur de fichiers:
la source
Votre fichier Xib (fichier de générateur d'interface) contient des éléments de mise en page automatique, que iOS 5 ne prend pas en charge.
Dans Xcode, accédez à vos fichiers .xib, et pour chacun d'eux, désactivez la mise en page automatique. Il devrait y avoir une case à cocher sur le côté gauche indiquant "Utiliser la mise en page automatique", décochez-la et réessayez. (C'est sous le premier onglet de l'inspecteur de gauche, lorsque vous avez sélectionné le propriétaire du fichier).
la source
Je suis tombé sur cette erreur lorsque je travaillais sur un projet plus ancien que je voulais mettre à jour. J'avais coché la case "Utiliser la mise en page automatique" pour commencer à travailler avec des contraintes, mais j'avais oublié de mettre à jour mon paramètre de cible de déploiement vers iOS 6.
la source
Vous devez l'exécuter dans le simulateur iPhone 6.0. Votre erreur:
Suggère que vous utilisez la mise en page automatique, qui ne fonctionne que sur iOS 6.
la source