У меня есть среда 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".