xcode4 с SDK 4.3 Приложение работает в симе, но вылетает на устройстве, как это возможно? - PullRequest
0 голосов
/ 23 августа 2011

Я тестирую свое приложение в симе с SDK 4.3, Мое устройство - iPhone 4 с ОС 4.3.3, при запуске приложения на симе все работает, никаких ошибок и ничего, но на устройстве каждая вещьаварийно завершает работу с ошибкой времени выполнения: "Завершение приложения из-за необработанного исключения 'NSUnknownKeyException', причина: '[setValue: forUndefinedKey:]: этот класс не соответствует значению ключа для кода addButton"

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

ОБНОВЛЕНИЕ: * возможно, это поможет.Я решил проверить свою теорию и удалил (удалил) файл MainWindox.xib.скомпилировал и получил те же результаты ... На симе все работало (WIERD КАК ЕСТЬ) и в устройстве происходит сбой .... Первая часть говорит мне, что когда Xcode делает ссылку и строит, он строит из другого каталогазатем тот, в котором проект ... Это настолько странно, насколько это возможно в моих глазах .... У кого-нибудь есть мысли об этом?Я думаю, что когда я это исправлю, все остальное будет работать нормально ... *

Что я могу сделать?

Большое спасибо, Эрез

Ответы [ 5 ]

2 голосов
/ 23 августа 2011

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

Если вы не можете определить контроллер представления, в котором возникла проблема, вам необходимо проверить все файлы XIB.Также, как упомянул alexJones, проверьте капитализацию розеток, так как устройство чувствительно к регистру, а симулятор отсутствует.

1 голос
/ 23 августа 2011

Возможно, к кнопке в XIB подключена розетка «addButton».Позже вы могли удалить «addButton» из кода, но забыли удалить соединение в XIB.Если вы откроете XIB, щелкните правой кнопкой мыши «Владелец файла», вы увидите «addButton» в красном цвете.Нажмите кнопку «х», чтобы удалить его.Затем соберите код и запустите на своем iphone.Теперь он должен работать.

Также очистите свой код, удалите приложение с устройства перед запуском на устройстве.

0 голосов
/ 17 октября 2011

У меня тоже была такая же проблема, я собирался и работал в симуляторе, но зависал на моем iPhone. Решение оказалось неподходящим случаем имени пера в конструкторе интерфейсов. detailView вместо фактического имени пера DetailView. Отличный совет, спасибо!

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

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

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

Я нашел решение, проблема была именно в том, что я сказал, XCode где-то ошибся в сборке, я не знаю, где и что произошло, но он не пошел в новую сборку ... . создал новый проект, скопировал все файлы, а затем просто изменил делегата и то, что нужно, и все работает, я предполагаю, что это БАГ, очень раздражающий, но все еще ошибка в XCode 4.

Спасибо всем, Эрез

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