Симулятор iPhone зависает в NSKeyedUnarchiver после установки базового SDK - PullRequest
3 голосов
/ 28 января 2010

Я запустил проект в xcode (3.2 на снежном барсе) с базовым sdk 3.1.2. Теперь я изменил этот параметр на 3.0, и он компилируется без предупреждения. Нет проблем с запуском приложения на устройстве, но симулятор вылетает при запуске каждый раз со следующим исключением:

Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «[NSKeyedUnarchiver initForReadingWithData:]: непонятный архив (0x4e, 0x49, 0x42, 0x41, 0x72, 0x63, 0x68, 0x69) '

Я не использую NSKeyedUnarchiver, так почему приложение пытается вызвать его? А какой архив непонятный? Я сбрасываю симулятор перед сборкой, поэтому нет никаких пользовательских настроек или чего-то еще.
Спасибо за вашу помощь!

Ответы [ 3 ]

2 голосов
/ 28 января 2010

Я решил проблему с помощью этой подробной трассировки стека:

#0  0x302ac924 in ___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___  
#1  0x904a3509 in objc_exception_throw  
#2  0x3028e5fb in +[NSException raise:format:arguments:]  
#3  0x3028e55a in +[NSException raise:format:]  
#4  0x30513b77 in -[NSKeyedUnarchiver initForReadingWithData:]  
#5  0x30ab4b2a in -[UINib instantiateWithOptions:owner:loadingResourcesFromBundle:]  
#6  0x30ab6eb3 in -[NSBundle(NSBundleAdditions) loadNibNamed:owner:options:]  
#7  0x308f85f1 in -[UIApplication _loadMainNibFile]  
#8  0x30901a15 in -[UIApplication _runWithURL:sourceBundleID:]  
#9  0x308fef33 in -[UIApplication handleEvent:withNewEvent:]  
#10 0x308fad82 in -[UIApplication sendEvent:]  
#11 0x309013e1 in _UIApplicationHandleEvent  
#12 0x32046375 in PurpleEventCallback  
#13 0x30245560 in CFRunLoopRunSpecific  
#14 0x30244628 in CFRunLoopRunInMode  
#15 0x308f930d in -[UIApplication _run]  
#16 0x309021ee in UIApplicationMain  
#17 0x0000255c in main at main.m:14  

Приложение вылетает при вызове mainNibFile. И я не знаю почему, но просто повторное сохранение MainWindow.xib решило проблему.

0 голосов
/ 22 апреля 2015

У меня была такая же проблема, после

  1. отправка моего проекта Xcode на удаленный FTP-сервер (с FileZilla)
  2. повторная загрузка
  3. и запуск его, чтобы проверить, прошел ли файл хорошо. Повторно загруженный файл имел эту проблему.

Я думаю, что ftp создает проблемы с пакетными файлами (такими как .xcodeproj), потому что иногда файлы .pages и .numbers также имеют проблемы.

Я решил проблему с помощью

  1. сжатие моего проекта (.zip)
  2. загрузка .zip на ftp.
  3. повторное скачивание
  4. распаковка
  5. при запуске, больше никаких проблем!
0 голосов
/ 28 января 2010

Попробуйте полностью удалить приложение из симулятора - возможно, в нем хранятся некоторые данные, связанные с настройками?

Есть ли у вас трассировка стека от отладчика, показывающая, откуда поступает вызов NSKeyedUnarchiver?

S

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