Я изменил отображаемое имя моего приложения в xcode, и оно больше не работает без сбоев - PullRequest
1 голос
/ 23 марта 2020

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

2020-03-23 ​​19: 32: 05.010069 + 0200 Coronavirus Tool [10927: 4335736] Неизвестный класс _TtC8CoronaMT18TipsViewController в файле Interface Builder. 2020-03-23 ​​19: 32: 05.059007 + 0200 Coronavirus Tool [10927: 4335736] Неизвестный класс _TtC8CoronaMT24StatisticsViewController в файле Interface Builder. 2020-03-23 ​​19: 32: 05.061510 + 0200 Coronavirus Tool [10927: 4335736] Неизвестный класс _TtC8CoronaMT28RiskCalculatorViewController в файле Interface Builder. 2020-03-23 ​​19: 32: 05.063672 + 0200 Coronavirus Tool [10927: 4335736] Неизвестный класс _TtC8CoronaMT27NotificationsViewController в файле Interface Builder. 2020-03-23 ​​19: 32: 05.067168 + 0200 Coronavirus Tool [10927: 4335736] Неизвестный класс _TtC8CoronaMT18MoreViewController в файле Interface Builder. 2020-03-23 ​​19: 32: 05.131735 + 0200 Coronavirus Tool [10927: 4335736] * Завершение работы приложения из-за необработанного исключения «NSUnknownKeyException», причина: '[ setValue: forUndefinedKey:]: этот класс не соответствует значению ключа, кодирующему ключ blueButton. ' * Первый бросок стека вызовов: (0x181086d8 c 0x1802405e c 0x1810869f0 0x1819dc44 c 0x18b1375a0 0x18b3097e4 0x180f94b24 0x18b3081f4 0x18b139aa8 0x18ad7d074 0x18aca1b14 0x18ad4fe1 c 0x18ad4f2d8 0x18ad4ec14 0x18ad4e6a4 0x18ad423a8 0x18ac9a6f4 0x18520fe54 0x185213fe4 0x1851806c8 0x1851a81b0 0x18b084680 0x18102f2bc 0x18102ea7 c 0x18102c7b0 0x180f4cda8 0x182f32020 0x18af6c758 0x100bc550 c 0x1809ddfc0) libc ++ abi.dylib: завершение с неисключительным исключением типа NSException

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

Может кто-нибудь помочь мне исправить это ???

Ответы [ 2 ]

1 голос
/ 23 марта 2020

Ваша подсказка в этой ошибке blueButton. Я догадываюсь, что у IBOutlet есть предыдущая розетка, все еще подключенная к blueButton. Проверьте, есть ли у вас две розетки, подключенные к blueButton. Если это так, Xcode падает, потому что не знает, какой выход использовать. Надеюсь, это поможет.

0 голосов
/ 23 марта 2020

Обычно сообщение «UIViewController ... не является KV C -совместимым для ...» является признаком того, что базовый класс для вашей сцены не был установлен (следовательно, «UIViewController» в начале предупреждения ), и, следовательно, выход blueButton не был найден.

(FWIW, если предупреждение было «RiskCalculatorViewController ... не соответствует KV C для ...», это может означать проблема с выходом в этом конкретном подклассе UIViewController. Но ошибка не относится к какому-либо конкретному подклассу UIViewController, что указывает на то, что проблема связана не с самим выходом, а с базовым классом этой сцены раскадровки.)

К счастью, вы поделились с нами рядом сообщений об ошибках. Мы можем увидеть список классов контроллеров представлений, которые раскадровка не смогла найти (см. Ошибки перед жирным шрифтом). Это наводит на мысль о более фундаментальной проблеме, когда в процессе переименования что-то пошло не так, и все эти базовые классы раскадровки не могут быть найдены.

Если вы можете, вернитесь к предыдущей версии приложения и повторите попытку переименования.

Если нет, вам придется вручную убрать это. Кажется, что по крайней мере одна из двух возможностей имела место:

  1. Классы контроллера представления (и, возможно, другие исходные файлы) не имеют своего «целевого членства», установленного правильно:

    enter image description here

    Убедитесь, что рядом с основной целью установлена ​​галочка.

  2. Предполагается, что все в порядке / исправлено, go вернитесь к раскадровке и проверьте «Модуль», выбранный для базового класса вашей сцены.

    enter image description here

    Убедитесь, что «Модуль» является вашей основной целью .

    Иногда вы можете просто выбрать модуль, и все будет в порядке. Иногда, однако, это не работает. В этом случае я часто удаляю имя «Class» в этом разделе «Custom Class», покидаю поле, а затем возвращаюсь и снова вводю имя класса, и модуль будет выбран правильно.

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