XCode 4 вызвал аварийный сбой приложения iOS4, а XCode 3 - нет - PullRequest
0 голосов
/ 29 августа 2011

Работа над приложением для iPhone для моей компании. Недавно обновлен до XCode 4 (но установил XCode 3 в отдельную папку).

Приложение, если оно скомпилировано и запущено в XCode 3, работает стабильно и не падает. Если он скомпилирован и запущен в XCode 4, он запустится, откроется экран «О программе» и позволит мне перейти на одну из других страниц (страницу заметок) через панель вкладок. Но если я нажимаю на другую вкладку (страницу, почти не содержащую ничего кроме MKMapView), она каждый раз вылетает.

Исключением является мой iPod Touch, работающий на iOS 5. Он работает нормально, поэтому, похоже, проблема в XCode 4 на iOS4 (4.3.5 - это то, на чем я сейчас тестирую).

Журнал аварий находится здесь: http://pastebin.com/p0sXqbSZ

Ответы [ 3 ]

1 голос
/ 04 сентября 2011

Если вы используете Xcode 4.2 и iOS 5 SDK beta 5 или более поздней версии, возможно, вы столкнулись с ошибкой в ​​SDK. Смотрите принятый ответ на этот вопрос .

Есть обходные пути. Вот самый простой, впервые предложенный Kreuters:

@implementation UIImage (initWithCoder)

- (id)initWithCoder:(NSCoder *)aDecoder
{
     return nil;
}

@end

Если вы можете воспроизвести ошибку в Xcode 4.2 и iOS 5 SDK beta 7, вы должны подать отчет об ошибке .

0 голосов
/ 29 августа 2011

Вы пробовали с "Модернизировать проект", под "Редактором"?

Кроме того, проблема, похоже, заключается в том, как apple хранит информацию из файла xib, поскольку при загрузке UIViewController вызывается [UIImage initWithCoder:]:

7   UIKit  0x31f98df3 -[UIImageView initWithCoder:] + 66
...
20  UIKit  0x3203b489 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 92
21  UIKit  0x31f90cbd -[UIViewController _loadViewFromNibNamed:bundle:] + 36

Я не знаю, поможет ли это, но попробуйте посмотреть, что изменилось в способе создания / получения XIBS, возможно, это новая функция, которая конфликтует с тем, что вы сделали. Или проверьте любое изображение, которое вы получаете.

0 голосов
/ 29 августа 2011

Судя по журналу сбоя, кажется, что инициализация UIImage вызывает сбой.Если у вас есть код [UIImage initWithCoder:], попробуйте его прокомментировать и посмотрите, работает ли он тогда.Если это действительно проблема, то проверьте, добавлено ли изображение в ваш проект, и / или повторно импортируйте изображение.

...