iOS4 ломает мое приложение - PullRequest
1 голос
/ 28 июня 2010

На всех iPhone (мы проверили), которые были обновлены до iOS4, наше приложение ведет себя по-другому (с ошибками), чем в предыдущей версии ОС (3.1.3). Первая и самая большая проблема заключается в том, что в 3G (но не в 3GS) любое UIAlertView замораживает приложение - на самом деле похоже, что приложение теряет фокус, чтобы присвоить его UIAlertView, но UIAlertView не получает фокус или. Я должен отметить, что мое приложение использует OpenGL ES 1.1.

Другие ошибки выглядят так, как будто некоторые переменные получают разные начальные настройки. Например, палитра цветов начинается с желтого, а не черного, счетчик мультитач дает неверные результаты и т. Д ...

Даже это останавливает приложение:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Please read help before using Facebook/Twitter/Flickr" 
                                               delegate:self 
                                      cancelButtonTitle:@"OK" 
                                      otherButtonTitles:nil, nil]; 
[alert show]; 
[alert release];

У кого-нибудь есть идеи?

Редактировать: Просто хотел сообщить вам, что мы исправили все проблемы. Были обнаружены некоторые проблемы при тщательной проверке нашего кода и поиске того, что мы сделали неправильно. В iOS3 те же ошибки не заметны, потому что сама ОС работает быстрее, но в iOS4 умирает до смерти. Кроме того, некоторые переменные необходимо инициализировать до значения по умолчанию (пример - int x = 0; вместо int x;), а затем все начинает работать, как и ожидалось.

Ответы [ 3 ]

1 голос
/ 28 июня 2010

Я бы подумал, что один 'nil' сделает работу для 'otherButtonTitles'.Может ли второй вызвать сбой?

Если нет, то какие ошибки сообщаются на вашей консоли во время сбоя?

1 голос
/ 28 июня 2010

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

0 голосов
/ 15 июля 2010

Мы обнаружили, что iOS 4 намного более агрессивна в вопросах управления памятью по сравнению с iOS 3. Это имеет большой смысл с точки зрения дизайна, поскольку Apple теперь приходится беспокоиться о большом количестве приложений, потенциально работающих на в то же время. У нас было большое количество сбоев, вызванных плохим управлением памятью, которые вообще не отображались в iOS 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...