NSInvalidUnarchiveOperationException: «Не удалось создать экземпляр класса с именем _UITableViewCellSeparatorView»

После обновления Xcode (5.1) мое приложение вылетает, когда я пытаюсь запустить iOS 6.x.

У меня есть приложение, в котором есть настраиваемая ячейка и ограничения.

Автоматическая компоновка не отмечена для файла xib. Я получаю следующую ошибку:

*** Завершение работы приложения из-за неперехваченного исключения «NSInvalidUnarchiveOperationException», причина: «Не удалось создать экземпляр класса с именем _UITableViewCellSeparatorView»

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


person maiconpeixinho    schedule 17.03.2014    source источник
comment
У меня такая же проблема, когда я пытаюсь cell = [tableView dequeueReusableCellWithIdentifier:cellID]   -  person kraftydevil    schedule 18.03.2014
comment
Сначала я подумал, что проблема может быть связана с проблемами SDK, которые возникают при обновлении Xcode (stackoverflow.com/questions/18423896/), но после повторного выполнения этих шагов я не пока есть решение.   -  person kraftydevil    schedule 18.03.2014
comment
@kraftydevil, я только что понизил свой xcode до 5, и такая же проблема! Вы правы, я думаю, это проблема SDK!   -  person maiconpeixinho    schedule 18.03.2014
comment
Если вы столкнулись с той же проблемой после перехода на более раннюю версию, вам, вероятно, потребуется установить 6.1 SDK на свое место. Я удалил Xcode 5.1, перезапустил свой компьютер, установил 5.0.2, а затем связал 6.1 SDK, и он снова заработал.   -  person kraftydevil    schedule 18.03.2014
comment
Теперь работает! Но только для xcode 5. Связал 6.1 SDK и все! Теперь БОЛЬШОЙ вопрос, почему не в sdk xcode 5.1?   -  person maiconpeixinho    schedule 18.03.2014


Ответы (3)


Я получал ту же ошибку после обновления до Xcode 5.1.

Мне удалось избавиться от ошибки, отредактировав xib для моей пользовательской ячейки.

В документе Interface Builder в инспекторе файлов я переключил «Просмотр как» на «iOS 6.1 и более ранние версии». У меня также есть «Сборки для», для которых установлено «iOS 6.0 и более поздние версии».

person kwatanabe    schedule 18.03.2014
comment
ох звучит правдоподобно! Я попробую это сделать, когда у меня хватит смелости обновиться снова! - person kraftydevil; 18.03.2014
comment
я тоже! Я так близок к сдаче проекта, что не время играть! Спасибо за ваш ответ! - person maiconpeixinho; 18.03.2014
comment
да ... поле Build for - единственное, что вам нужно изменить - person Allen Zeng; 28.04.2014

У меня такая же проблема, и «Просмотреть как» и «Сборки для» мне не помогли. Я изменил "Открывается в" - "Xcode 5.0", и это помогло.

PS Не забудьте удалить приложение с устройства / симулятора, очистить проект и перезапустить xcode (не уверен, какой путь был правильным, я сделал их все)

person AlexZd    schedule 22.05.2014

После установки Xcode 6.0.1 beta 2 я тоже столкнулся с этой проблемой.

В моем проекте цель развертывания iOS - 6.0.

Используя ответ @AlexZd, я сделал следующие действия:

  1. Я нашел все xib, которые будут созданы / отображены в данный момент

  2. До моих действий эта xibs имела следующие стандартные настройки:

введите описание изображения здесь

  1. Итак, для каждого из выбранных мною xibs эти настройки были изменены на следующие настройки:

введите описание изображения здесь

Теперь проверьте его работу. Если это не сработает, выполните управляющие действия.

4. 1) Очистите проект Xcode с помощью CMD + SHIFT + K, 2) Очистите папку ~ / Library / Developer / Xcode / DerivedData вручную 3) Удалите приложение с устройства и затем запустите его через Xcode на этом устройстве.

Это решение было проверено мной на 3 iPad с IOS6, IOS7 в IOS8 тоже. Это отлично работает на любом из них!

person iVader    schedule 30.09.2014