У меня есть фреймворк Objective-C под названием «Box», в котором используется фреймворк Swift под названием «Utils». Оба имеют стандартную цель, которую я использую во время разработки, а также пользовательскую цель, которую я использую, когда разработка завершена, и мне нужно создать универсальную структуру.
До Xcode 10.2/swift 4 все работало хорошо, и я смог скомпилировать универсальные фреймворки «Box» и «Utils» и использовать их в тестовом приложении, написанном на Swift, или в качестве фреймворков внутри других фреймворков.
Переключившись на Xcode 10.2/swift 5, я больше не могу ссылаться на объекты и методы «Utils» из «Box», по крайней мере, не для всех целей.
Если я использую стандартную цель «Box» и реальное устройство, я могу создать структуру и запустить их в тестовом приложении. Я могу указывать и щелкать объекты/методы «Utils» из «Box», чтобы ссылаться на них.
Если я использую стандартную цель "Box" и симулятор, я не могу построить фреймворк, и у меня возникают такие ошибки, как:
"No visible @interface for 'UIColor' declares the selector 'initWithHexString:'" -> initWithHexString is a method declared into an extension of UIColor inside "Utils" framework
"use of undeclared identifier 'StringUtils'" -> StringUtils is a class declared inside "Utils" framework
то же самое, если я попытаюсь создать универсальный фреймворк "Box" с его пользовательской целью (цель с классическим скриптом, используемым для создания универсальных фреймворков)
Итак, по неизвестной причине, начиная с Xcode 10.2, для какой-то цели я больше не могу ссылаться на структуру «Utils» из «Box». Все методы отмечены @objc, так что это не проблема.
Любая идея о том, что может быть проблемой?
Не знаю, нужно ли добавить какую-то другую полезную информацию...
Большое спасибо!
Обновление: я попытался импортировать фреймворк «Utils» в фреймворк Swift, созданный «на лету», чтобы выполнить тест. И это, кажется, работает. Так что это кажется проблемой, когда я пытаюсь импортировать фреймворк Swift «Utils» в фреймворк Objective-C «Box».