presentViewController: awaria na iOS

Mam dziwny wypadek. Awaria dzieje się, gdy naciskam przycisk, który przechodzi do określonego kontrolera ViewController. Linia, na której się rozbija to:

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

Ślad katastrofy to:

*** 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

Uwaga: to wywala się na moim iPhone 4 iOS 5.1, ale nie na moim iPhone 4s iOS 6 Beta 2

Author: MCKapur, 2012-06-26

4 answers

Uważam, że jest to problem z nowym budowniczym interfejsu Xcode. Czy zdarzyło ci się zbudować swoje ?xib za pomocą Xcode 4.5 ' s Interface builder? Właśnie napotkałem ten sam problem i myślę, że w tym problem. Moja aplikacja działa na iOS 6, ale nie na niczym starszym.

I musisz upewnić się, że wyłączyłeś Use Auto Layout dla swoich xibs .

Można to zrobić przez:

  1. Otwórz swój xib.
  2. przejdź do zakładki File Inspector.
  3. Znajdź Interface Builder Document sekcję po prawej stronie pasek narzędzi.
  4. odznacz opcję Use Auto Layout.
 202
Author: Mark,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-29 00:47:17

Zrzut ekranu

Miałem ten sam problem, gdy pobrałem nową aktualizację XCode i IOS6 SDK. Oto jak to rozwiązałem:

Wybierz plik Kreatora interfejsu (xib lub plik storyboard), w którym wystąpił błąd. W asystent edytor po prawej stronie w XCode, wybierz pierwszą kartę z lewej strony, a tam jest pole wyboru dla opcji "Użyj Autolayout" jak na zrzucie ekranu powyżej. Odznacz pole wyboru.

 44
Author: Dejan Balaban,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-07 23:00:36

Nagaraja pyta " Jak rozwiązać to samo, jeśli nie używamy xib? Napotkałem dokładnie ten problem. Stworzyłem kontroler z xib, a następnie postanowiłem usunąć plik xib. Katastrofa nie ustąpiła. Problem polegał na tym, że musiałem zaimplementować

- (void) loadView
W mojej klasie kontrolerów. Po wdrożeniu tej metody problem został rozwiązany.
 4
Author: DDRider62,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-21 02:27:09

Innym możliwym powodem awarii z presentViewController jest posiadanie czegoś w nib podłączonego do zmiennej, której już nie ma - zmienna ma zmienioną nazwę lub została usunięta.

 1
Author: Chris Walken,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-13 19:36:08