Проблема заголовка моста - "MyClass" недоступен: не удается найти объявление Swift для этого класса

Я посетил эту ссылку -

MyClass недоступен: не удается найти объявление Swift для этого класса - Release Build Only

Добавление связанной или встроенной инфраструктуры Swift: "MyClass" недоступен: не удается найти объявление Swift для этого класса

Swift: использование приватных фреймворков

Но ни одна из вышеперечисленных ссылок не помогла мне решить мою проблему.

Я занимаюсь разработкой приложения с использованием target-c, в приложении я интегрирую ios-диаграммы, структура которых разработана в swift. Я объединил проект, как указано в файле README. После интеграции я создал файл MyClass.swift, а затем унаследовал файл MyClass.swift с классом, который определен в charts.framework.Но это поднимает ошибку

Класс недоступен: не удается найти объявление Swift для этого класса

Кто-нибудь помогает мне решить эту ошибку? Какие-либо предложения??

5 ответов

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

Мое исправление для этой проблемы состояло в том, чтобы изменить цель развертывания фреймворка с моего устройства на "Универсальное устройство iOS", а затем перестроить фреймворк.

Попробуйте добавить @objc напротив объявления MyClass (например, @objc class MyClass {...})

Я столкнулся с той же проблемой, то есть при вызове функций из "MyClass", содержащихся в "MyFramework", он сообщает, что "MyClass" недоступен. Оказывается, цели развертывания iOS платформы и вызывающего ее приложения различны. Когда я устанавливаю оба одинаковых, проблема исчезает.

Эта ошибка просто из-за несовместимости платформы для сборки, на которой вы пытаетесь ее запустить.

Исправлено:-

1) Удалить рамки из вашего проекта

2) Тогда:-

  • Если вы используете симулятор, перейдите в проект фреймворка и создайте проект фреймворка, выбрав симулятор из списка симуляторов iOS (любое устройство из списка симуляторов), а затем импортируйте фреймворк в хост-проект.

  • Если вы используете физическое устройство, перейдите в проект фреймворка и создайте проект фреймворка, выбрав "Общее устройство iOS"/ Физическое устройство (которое подключено), а затем импортируйте фреймворк в хост-проект.

Теперь должно работать нормально. Надеюсь это поможет!

Другие вопросы по тегам