presentViewController: crash sur iOS

c'est un accident bizarre que je reçois. Le crash se produit quand j'appuie sur un bouton qui va vers un certain ViewController. La ligne sur laquelle il s'écrase est:

DestinationInformationViewController *info = [[DestinationInformationViewController alloc] init];
[info setModalTransitionStyle: UIModalTransitionStyleCrossDissolve];
[self presentViewController:info animated:YES completion: nil]; // CRASHES HERE
[info release];

Le crash de trace est:

*** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint' *** First throw call stack: (0x3758288f 0x35287259 0x37582789 0x375827ab 0x3153d54d 0x3153d6bb 0x3153d423 0x314ce001 0x3143c3c7 0x31319c59 0x3128fc17 0x3129a267 0x3129a1d5 0x3133959b 0x31338367 0x84091 0x374dc3fd 0x31271e07 0x31271dc3 0x31271da1 0x31271b11 0x31272449 0x3127092b 0x31270319 0x31256695 0x31255f3b 0x33c9822b 0x37556523 0x375564c5 0x37555313 0x374d84a5 0x374d836d 0x33c97439 0x31284cd5 0x82bb3 0x71200) terminate called throwing an exception(gdb) Could not instantiate class named NSLayoutConstraint

NOTE: Ceci s'écrase sur mon iPhone 4 iOS 5.1 mais pas sur mon iPhone 4S iOS 6 Beta 2

92
demandé sur MCKapur 2012-06-26 03:47:37

4 réponses

je crois que C'est un problème avec le nouveau constructeur d'interface de Xcode. Avez-vous arriver à construire votre .xib utilisant l'Interface builder de Xcode 4.5? Je viens de rencontrer le même problème, et je pense que c'est le problème. Mon application fonctionne sur iOS 6, mais rien de plus.

et vous avez besoin de assurez-vous que vous éteignez Use Auto Layout pour vos xibs .

qui peut être fait par:

  1. ouvrez votre xib.
  2. allez à l'onglet File Inspector .
  3. trouvez la section Interface Builder Document sur la barre d'outils de droite.
  4. décochez l'option Use Auto Layout .
202
répondu Mark 2016-06-29 00:47:17

ScreenShot

j'ai eu le même problème quand j'ai téléchargé la nouvelle mise à jour de XCode et iOS6 SDK. Voici comment je l'ai résolu:

sélectionnez le fichier Interface builder (que ce soit le fichier XIB ou le fichier storyboard) où votre erreur se produit. Dans assistant editor sur la droite dans XCode, sélectionnez le premier onglet À partir de la gauche, et il y a une case à cocher pour l'option "Utiliser Autolayout" comme sur la capture d'écran ci-dessus. Décochez la case.

44
répondu Dejan Balaban 2015-05-07 23:00:36

Nagaraja demande " comment résoudre le même problème si nous n'utilisons pas xib? Je suis tombé sur exactement ce problème. J'ai créé un contrôleur avec un xib, et puis j'ai décidé de supprimer le fichier xib. Le crash n'a pas disparu. Le problème était que je devais mettre en œuvre

- (void) loadView

dans ma classe de contrôleur. Une fois cette méthode appliquée, le problème a été résolu.

4
répondu DDRider62 2012-10-21 02:27:09

une autre raison possible pour un crash avec presentViewController est d'avoir quelque chose dans le nib connecté à une variable qui n'est plus là - la variable ayant soit son nom changé ou il a été supprimé.

1
répondu Chris Walken 2012-08-13 19:36:08