2013-11-18 4 views
0

У меня есть приложение для iPad, которое работает нормально до iOS7. Эта проблема, кажется, только на моделях ipad 2nd gen и раньше, когда установлена ​​iOS7. Во всяком случае, я рвал волосы, пытаясь понять, откуда эта ошибка, но не повезло. Консоль в Xcode (5) сообщает следующее сообщение об ошибке после того, как выполнить вход в Segue:iOS7 UIToolbar crash

2013-11-18 11:17:31.768 MyApp[400:60b] *** -[UIToolbar backdropView:willChangeToGraphicsQuality:]: message sent to deallocated instance 0x18ec23e0 

Я не могу поиск адреса для получения дополнительной информации (поиска изображения -a 0x18ec23e0) он просто ничего не возвращает.

В приборах, работающих зомби, он сообщает, что сообщение было отправлено на UIToolbar так:

enter image description here

Когда я проверить экземпляр, я получаю следующее:

enter image description here

Как отладить это? Я понятия не имею, где этот звонок выполняется, и кажется, что он зависит от физического развития (не происходит на iPad mini или ipad 3/4)

+0

Является ли сетчатка IPad 2 сетчатой? – user2277872

+0

Обнаружено это http://stackoverflow.com/questions/19883238/nsconcretemaptable-backdropviewwillchangetographicsquality-error, у вас есть асинхронные задачи, на выполнение которых требуется некоторое время? – juniperi

+0

Нет, iPads не являются iPads сетчатки (модели MD328X/A и MC982X/A). Я использую AFNetworking для выполнения асинхронных вызовов веб-службы REST, но выполняемый segue зависит от возвращаемой задачи. – Matt

ответ

0

Я боролся с очень похожей ошибкой, также с UIToolbar , что я не мог понять, пока пару часов назад. Я также должен был использовать и пытаться понять инструмент зомби, но без везения.

То, что я сделал, чтобы обратить пристальное внимание на стеквызова, который был представлен, когда Exception Breakpoint активировали, как описано в следующем руководстве:

http://www.raywenderlich.com/10209/my-app-crashed-now-what-part-1

Даже если вызов стек не указал мне на точную строку кода, я заметил, что приложение пытается добавить UIToolbar в ViewController. Оказывается, что я делал это создание локального UIToolbar внутри метода и добавление его в представленный UIView. После того, как вы изменили это поведение, я перестала раздражать внезапный крах. Мне было трудно найти проблему, потому что, глядя на код ViewController, который вызвал сбой, не было никакого кода, который создал или использовал UIToolbar; однако этот VC включил пользовательский вид, который сделал именно это, как я объяснял ранее.

Сказали все это, я рекомендую вам внимательно изучить VC, который создает краш. Если вам необходимо создать UIToolbar программно, я рекомендую вам объявить его как сильное свойство для поддержания ссылки на память до тех пор, пока это необходимо.

Надеюсь, это вам поможет.

0

Я боролся с этим какое-то время сегодня. У меня было две раскадровки, одна для входа/регистрации (задана в качестве основной раскадровки для проекта), а другая - для остальной части приложения. Делегат приложения обнаружил бы, был ли пользователь зарегистрирован и создаст экземпляр контроллера корневого представления другой раскадровки. Контроллер корневого представления раскадровки входа - это контроллер навигации, и после некоторого исследования с помощью инструментов я понял, что UIToolbar был создан из наконечника. Открытие файла раскадровки показало внеуровневый объект UIToolbar в контроллере корневого представления. Я удалил его, и я больше не рушился.

Я также должен упомянуть об этом случае, когда я использовал MKMapView.

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