Поповер изменения в iOS 5? - PullRequest
       3

Поповер изменения в iOS 5?

2 голосов
/ 22 ноября 2011

Я только что разработал приложение для iPad на момент тестирования, но сделал это в iOS 4.3. Теперь я обновил до 5.0 в симуляторе, а также прошел шаги Apple для тестирования на моем iPad, который работает 5.0

В симуляторе 4.3 все отлично работает. Но в симуляторе 5.0 и на iPad все мои всплывающие окна, которые происходят из UIButtons, вызывают сбой приложения. У меня есть поповер из кнопки navbar, который работает нормально.

Каждый сбойный поповер отображает свое содержимое (UIWebview с pdf-файлом), но когда я щелкаю в любом месте экрана, приложение вылетает (внутри поповера и снаружи).

Я могу опубликовать некоторый код, но надеюсь, что это описание поможет кому-то понять. Я не отклоняю вручную поповер и не проверяю, открыт ли он, но так как это происходит не только при попытке прикоснуться к его запуску UIButton, я не думаю, что именно поэтому это происходит. Плюс работает как есть под 4.3


Редактировать: теперь это решено благодаря комментарию Стивена. Я добавил в popOver содержимое viewController:

- (void) dealloc {
 [webView release];
 [super release];
}

Обычно я бы назвал [super dealloc] вместо [super release], но [super dealloc] не исправил исключение (exc_bad_access). Надеюсь, я не поставил неаккуратный патч на проблему!

1 Ответ

0 голосов
/ 22 ноября 2011

У меня была нить, начавшая собирать подобные ошибки, но полиция форума ее отменила.Достаточно сказать, что iOS 5 пронизана несовместимостью.

Я не могу с уверенностью сказать, в чем заключается ваша проблема, но есть хороший шанс, что это связано с изменениями в UINavigationController, которые вызвали UIViewController navigationControllerбыть нулевым для всплывающих окон, при этом parentViewController занимает его место.

К сожалению, parentViewController является новым, поэтому необходимо, например, проверить respondsToSelector:@selector(parentViewController) и взять parentViewController, если он существует, в противном случае navigationController.

Пришлось добавить эту логику примерно в 30 мест в приложении, которое у нас есть.

...