Поддержка iOSInterfaceOrientations loop crashing
Я получаю эту ошибку и не знаю, что может ее вызвать. Это происходит в iOS 8.2 на iPhone и iPad.
Crashed: com.apple.main-thread EXC_BAD_ACCESS KERN_PROTECTION_FAILURE at 0x00554ff4 raw 0 libobjc.A.dylib lookUpImpOrForward + 3 4 libobjc.A.dylib -[NSObject respondsToSelector:] + 38 5 UIKit -[UIWindow _supportedInterfaceOrientationsForRootViewController] + 56 6 UIKit -[_UIFallbackPresentationViewController supportedInterfaceOrientations] + 60 7 UIKit -[_UIFallbackPresentationViewController supportedInterfaceOrientations] + 60 ... 510 UIKit -[_UIFallbackPresentationViewController supportedInterfaceOrientations] + 60
Я читал, что это должно решить такие проблемы, но это не сработало.
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { if ( IDIOM == IPAD ) { return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown; } else { return UIInterfaceOrientationMaskPortrait; } }
- Передача штрихов между сложными UIWindows?
- - работает только один раз, прежде чем окно станет ключевым окном на iOS 9
- Изменение цвета фона UIWindow при вращении устройства
- Делегат приложения должен реализовать свойство window, если он хочет использовать основной файл раскадровки
- Добавить вид между строкой состояния и панель навигации
- Добавление подуровня CALayer внутри UIView init
- Создание кнопки на всех контроллерах представлений
- Применить фильтр по UIView / UIWindow, чтобы изменить отображение основного представления
- convertPoint toView не получает абсолютную позицию на экране
- UIWindow удалить ошибку в iOS9.1
- UIStatusBarStyle изменяется после отображения UIWindow над UIStatusBar
- Как добавить представление в UIWindow?
- Фоновое приложение UIWindow прыгает в верхней части представлений, когда я переключаюсь с содержимого представления на UITableView
В конце концов я связался с яблоком по этой проблеме. По их словам, это связано с Game Center. Apple изменила некоторые вещи на нем, и старый способ, который инициализировал Game Center, вызвал бы случайные сбои. В игру добавлен игровой центр Manger, и эти случайные сбои прекратились.
Следующий код работает отлично со мной.
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{ return UIInterfaceOrientationMaskLandscape; }
Если это не решило вашу проблему, я думаю, что некоторые другие части вашего кода ошибочны .
-
Вы можете создать пустой проект и попробовать приложение с кодом
(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
на котором видно, возникает ли проблема только для изоляции педераста -
Проверьте переменные IDIOM и IPAD правильно установлены в вашем коде
#define IDIOM UI_USER_INTERFACE_IDIOM ()
#define IPAD UIUserInterfaceIdiomPad
-
EXC_BAD_ACCESS вызван незаконным доступом к памяти, к которому вы можете получить доступ к переменной, которая освобождена .
-
Проверьте все указатели, особенно указатели объектов, чтобы убедиться, что они инициализированы. Если вы используете xib, убедитесь, что вы правильно настроили все необходимые подключения.
-
если ни одно из этих действий не работает, попробуйте найти ошибку с помощью операторов NSLog () и найдите строку, вызывающую ошибку, затем установите точку останова и проверьте все переменные и объекты в них, чтобы увидеть, что что-то не так, как должно было быть.
Надеюсь это поможет. Не стесняйтесь спрашивать меня, остается ли проблема еще не решена
Вы должны добавить следующий метод в ur Viewcontroller
-(NSUInteger)supportedInterfaceOrientations{ return yes for supported orientations }