Проблема с целевой целостностью: "Сборка для iOS, но встроенная структура X.framework была создана для iOS Simulator"

Наша организация распространяет предварительно скомпилированные динамические фреймворки iOS, используя метод, который, как мы понимали, был каноническим до Xcode 11.4. Это включало создание двух предварительно скомпилированных фреймворков, одну для устройства и одну для симулятора, а затем использование правильной структуры во время выполнения. Последнее включало изменение "других флагов компоновщика", чтобы выбрать только структуру, которая должна использоваться в зависимости от того, как были установлены "Any iOS Simulator SDK" и "Any iOS SDK", и добавление новой фазы сценария выполнения к фазам сборки, которые удаляются симулятор нарезки из сборок устройства.

При переходе на Xcode 11.4 мы теперь сталкиваемся с целевой ошибкой целостности:

"Сборка для iOS, но встроенная структура X.framework была создана для iOS Simulator".

Мы понимаем, что переход на XCFramework - это один из способов решения этой проблемы. Но для тех людей, которые хотят (или нуждаются) в настоящее время продолжать использовать более ранние версии предварительно скомпилированных фреймворков как динамические, что можно изменить в настройках проекта, чтобы преодолеть эту ошибку?

2 ответа

была та же проблема, и я мог в конечном итоге решить ее, запустив «Папка чистой сборки» из раскрывающегося списка «Продукт». Вот скриншот на всякий случай, надеюсь, он решит и вашу проблему!

Пообщавшись с Apple, мы пришли к выводу, что этот недостаток был преднамеренным и что переход с динамических фреймворков на xcframeworks был необходим. Если и существует технический способ обойти эту проблему, мы его так и не нашли.

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