166 votes

NSInvalidUnarchiveOperationException : Impossible d’instancier classe nommée NSLayoutConstraint

Je suis très nouveau à cela. J’ai suivi le tutoriel Apple étape par étape pour le projet iPhone « HelloWorld ». J’ai couru dans le simulateur iPhone 5.0 et il s’est écrasé :

Est quelqu'un peut s’il vous plaît me dire ce qui s’est mal passé ? J’utilise Xcode 4.5.

576voto

rob mayoff Points 124153

Par défaut, lorsque vous créez un nouveau iOS projet dans Xcode 4.5, votre scénario ou XIB est définie pour utiliser la mise en forme automatique, qui est une nouvelle fonctionnalité dans iOS 6.0. L' NSLayoutConstraint classe fait partie de la mise en page automatique du système, et il n'existe pas dans les anciennes versions d'iOS.

Si vous souhaitez déployer votre application à une version antérieure d'iOS, vous avez besoin de changer votre storyboard ou XIB à ne pas utiliser la mise en page automatique. C'est une case à cocher dans le Fichier de l'Inspecteur:

turning off autolayout

21voto

WDUK Points 11893

Votre fichier Xib (fichier d’Interface builder) contient des éléments de mise en forme automatique, quel iOS 5 est pas prise en charge.

Dans Xcode, accédez à votre fichier .xib, à chaque un, tour désactiver la disposition automatique. Il devrait y avoir une case à cocher sur le côté de main gauche disant « Utilisation mise en forme automatique », décochez la case, puis réessayez. (C’est sous le premier onglet dans l’inspecteur de côté de main gauche, quand vous avez le propriétaire du fichier) sélectionné.

8voto

jbryant Points 116

Je suis tombé dans cette erreur lorsque je travaillais sur un projet plus âgé, que j’ai voulu mettre à jour. J’ai avait coché la case de « Mise en forme automatique utilisation » pour commencer le travail avec des contraintes, mais avait oublié de mettre à jour mon paramètre cible de déploiement iOS 6.

7voto

yeesterbunny Points 1321

Vous devez exécuter dans le simulateur iPhone 6.0. Votre erreur :

Suggère que vous utilisez la mise en forme automatique, qui ne fonctionne que sur iOS 6.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X