MyClass недоступен: не удается найти объявление Swift для этого класса - Release Build Only
Я получаю следующую ошибку:
MyClass недоступен: не удается найти объявление Swift для этого класса
но я получаю его только при создании сборки в Xcode... Отладка работает нормально.
Кто-нибудь знает, что? Я запускаю 6.3
Ответы
Ответ 1
Если MyClass находится внутри динамической структуры (Cocoa Touch Framework), вполне вероятно, что вы используете сборку с неправильной архитектурой. Чтобы проверить, просмотрите MyClass.framework в finder и проверьте Modules/AirServiceKit.swiftmodule
. Должно быть что-то вроде x86_64.swiftmodule
или arm64.swiftmodule
, если вы используете симулятор, должен быть x86 или arm, если вы создаете для устройства.
Ответ 2
Если кто-то еще столкнется с этой проблемой:
У меня была такая же ошибка, и оказалось, что я создал фреймворк для конкретного эмулятора. Я изменил device
(в верхнем левом углу) на Generic iOS device
и сделал clean
и build
, затем я использовал сгенерированный файл .framework
.
Все работает отлично после использования этого сгенерированного файла .framework
.
Ответ 3
В моем случае это было из-за того, что в моей структуре, которую я разрабатываю, отсутствовала одна из Действительных архитектур, перечисленных в моей целевой программе. Все, что мне нужно было сделать, это следующее:
- Перейдите в файл проекта.
- Перейдите в Настройки сборки для целевой цели приложения, которую вы пытаетесь создать. Обратите внимание на архитектуры, перечисленные в разделе Действительные архитектуры.
- Перейдите в целевую среду фреймворка.
- Убедитесь, что все архитектуры соответствуют.
В моем случае моя инфраструктура отсутствовала arm64
.
Ответ 4
Проверьте значение флага, которое вы установили для Build Active Architecture только в настройках сборки для отладки и выпуска
Ответ 5
Я столкнулся с той же проблемой, которую я разрешил, выполнив следующие шаги
-
удалить быстродействующую структуру, то есть переместить скорую фреймворк в корзину
-
затем очистите текущий проект
-
снова создайте быстродействующий фреймворк
-
перетащите быстродействующий фреймворк и опустите основной каталог приложения
-
добавить фреймворк во встроенные фреймворки
-
), затем запустите проект
он работает как charm.your быстрые рамки классов получает
признанных в заявке.