Я боролся с подобной ошибкой довольно долгое время. Насколько я могу судить, _shouldUseKeyWindowStack
- это внутренний метод UIResponder, который появился в iOS 4.0 (я полагаю, что он связан с многозадачностью).
Однако настоящей ошибкой такого типа вещей обычно является ошибка доступа к памяти (слишком много выпусков объекта или ошибка многопоточности). В моем случае это была ошибка потока - в частности, попытка обновить пользовательский интерфейс (показать UIAlert) в фоновом потоке. В итоге я обернул код, вызвавший сбой, в собственный метод, а затем вызвал [self performSelectorOnMainThread:withObject:waitUntilDone:]
, чтобы обойти сбой.