iPhone - Тема 1 EXC_BAD_INSTRUCTION Ошибка, когда в консоли ничего не напечатано
ВАЖНОЕ РЕДАКТИРОВАНИЕ: Я только что понял, что в предыдущей версии приложение раньше отображало иконку в верхнем углу, но теперь не в этой новой версии. ПОЧЕМУ ЭТО ПРОИСХОДИТ КАТАЛОГ АКТИВОВ ТО ЖЕ ВРЕМЯ!!! Я думаю, что должна быть проблема с активами, но я знаю, что это не сами активы.
У меня есть приложение, которое создает поток 1 EXC_BAD_INSTRUCTION (code = EXC_I386_INVOP,subcode=0x0), но в консоли ничего не печатается вообще. Вот строка кода, которая выделяется:
var examples:[String: UIImage] = ["A": #imageLiteral(resourceName: "b"), "C" : #imageLiteral(resourceName: "d"), "E": #imageLiteral(resourceName: "f"), "G": #imageLiteral(resourceName: "H"), "I": #imageLiteral(resourceName: "j")]
Здесь я просто объявляю массив со строками, соответствующими UIImages. Эти UIImages находятся в моей папке ресурсов, и я дважды проверил, что они существуют в папке ресурсов в подпапке, называемой "обложки". Кроме того, при вводе их имени Xcode предлагает их имя и отображает, как выглядит uiimage, поэтому я знаю, что он определенно существует. Таким образом, я понятия не имею, в чем проблема.
Я сделал точки останова до и после этой строки, и я уверен, что это происходит на этой линии. Кроме того, когда я изменяю изображения для отображения UIImages, которых нет в папке активов, я получаю то же исключение в другой строке проекта, в которой используются изображения из папки ресурсов (поэтому, возможно, это как-то связано с папкой ресурсов).
Другие примечания: ОТСУТСТВУЕТ КОНСОЛЬ (И Я ПЕЧАТАЮ ВЕЩИ НА ДРУГИХ МЕСТАХ, ТАК ЧТО Я ЗНАЮ, ЧТО КОНСОЛЬ РАБОТАЕТ) Когда ОНА ломается, я сотрудничаю с кем-то, использующим github и до последнего коммита моих партнеров (который ничего не изменил в классе это выдает ошибку) это работало (я понятия не имею, почему оно перестало работать), я использую Xcode 8 beta 6
Вот несколько изображений того, что я вижу:
И, конечно, в консоли ничего нет, кроме (lldb) и некоторых вещей, которые я печатаю при запуске приложения.
Редактировать: я переустановил Xcode 8 beta 6 и скачал версию приложения без подключения к github и попытался запустить его, но все равно ничего не получил. Я очистил проект несколько раз. Пытался сделать что-то умное, но ничего не получил.
Редактировать 2: я загрузил Xcode 8, попытался очистить папку с производными данными, попытался связать папку с производными данными не с той, что на моем рабочем столе, а с той, что в моем локальном файле проекта, связанном с GIT, который дал мне сотни предупреждений, и до сих пор ничего не работает
2 ответа
Это заняло у меня так много времени, чтобы исправить, но проблема заключалась в том, что папка Assets была удалена из папки сборочных фаз / ресурсов комплекта копий.
Дополнение к ответу @computerscience32: если вы создаете расширение (например, приложение iMessage), убедитесь, что копируется правильный актив. У меня были одноименные ресурсы приложения и приложения iMessage, и я не заметил, что расширение не содержит ресурсов основного приложения.
В моем случае изображения были в папках, но при двойном щелчке и выборе изображения папка не включалась в путь. Я использовал случайный текстовый редактор, чтобы включить имя папки, так как я не мог редактировать его с помощью XCode.