2014-10-03 2 views
0

Заявки на IOS 7 работает нормально, но под прошивкой 8 я получил_viewControllerForSupportedInterfaceOrientationsWithDismissCheck исключения под прошивкой 8

[someObj _viewControllerForSupportedInterfaceOrientationsWithDismissCheck:]: 
            unrecognized selector sent to instance 

когда я поворачиваю мой iPhone ..

Что может быть не так?

Стек след от тренажера:

 *** First throw call stack: 
      (
     ... 
     1 libobjc.A.dylib      0x030ffa97 objc_exception_throw + 44 
     2 CoreFoundation      0x03c84a75 -[NSObject(NSObject)  doesNotRecognizeSelector:] + 277 
     3 CoreFoundation      0x03bcd9c7 ___forwarding___ + 1047 
     4 CoreFoundation      0x03bcd58e _CF_forwarding_prep_0 + 14 
     5 UIKit        0x01b3ea90 -[UIWindow _shouldAutorotateToInterfaceOrientation:checkForDismissal:isRotationDisabled:] + 164 
     6 UIKit        0x01b3ef73 -[UIWindow _shouldAutorotateToInterfaceOrientation:] + 82 
     7 UIKit        0x01b4012d __57-[UIWindow _updateToInterfaceOrientation:duration:force:]_block_invoke + 69 
     9 UIKit        0x01b40988 -[UIWindow _updateInterfaceOrientationFromDeviceOrientation:] + 1397 
     10 UIKit        0x01b4040c -[UIWindow _updateInterfaceOrientationFromDeviceOrientationIfRotationEnabled:] + 93 
     11 UIKit        0x01b3feab -[UIWindow _handleDeviceOrientationChange:] + 122 
     12 Foundation       0x02cae929 __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke + 40 
     13 CoreFoundation      0x03c47974 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20 
     ... 
     20 GraphicsServices     0x049c5c8b _PurpleEventCallback + 765 
     22 CoreFoundation      0x03ba0a65 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 53 
     23 CoreFoundation      0x03ba09ce __CFRunLoopDoSource1 + 510 
     ....... 
    ) 
    libc++abi.dylib: terminating with uncaught exception of type NSException 
+0

duplicate? http://stackoverflow.com/questions/26100437 – tidwall

+0

Я пробовал, но это не помогло – gmlvsv

+0

Можете ли вы добавить код, вызывающий этот селектор? – tidwall

ответ

0

Вы представляя модальность в реакции пользователя трогательные кнопок действий листа?

Попробуйте использовать этот метод делегата - (void) actionSheet: (UIActionSheet *) actionSheet didDismissWithButtonIndex: (NSInteger) buttonIndex;

вместо - (void) actionSheet: (UIActionSheet *) actionSheet willDismissWithButtonIndex: (NSInteger) buttonIndex;

Похоже, что лист действий - это собственное окно на iOS 8. Если вы представляете модальную форму до того, как лист действий полностью исчезнет, ​​на него закроется окно окна действия.

Позже, когда устройство вращается, оно, вероятно, пытается передать событие вращения, но модальный уже давно заменен другим объектом (который не является подклассом контроллера представления), поэтому вы получаете этот сбой.

То же самое можно сказать и о предупреждениях, поскольку документы говорят об их реализации в iOS 8.

+0

Спасибо за ответ! .. Я проверю – gmlvsv

+0

Я просто открываю новый экран (UITableViewController), затем пытаюсь редактировать данные в текстовом поле и после этого нажать «Назад» ([self rejectViewControllerAnimated: YES complete: nil]) и получил [__NSArrayI или NCFString _viewController ..]: un. селектор .. с точкой останова где-то внутри iOS libs (не мой код). На iOS7 - все в порядке. – gmlvsv

Смежные вопросы