Работая над проектом Swift, я должен интегрировать со сторонним набором фреймворков.Каждая из платформ имеет две версии.Одно целевое устройство и один целевой симулятор.Мне нужно выбрать правильную версию при сборке в зависимости от архитектуры, скопировать ее из комплекта и встроить / подписать код.
Я добавил скрипт bash (не знаю bash, но я думаю,Я правильно понял концепцию).Сценарий в основном копирует правильную версию фреймворков в цель сборки, в зависимости от архитектуры.
Я попытался переупорядочить фазы, удалив фреймворки из фазы «Внедрить фреймворки», отключить «Знак кода при копировании»."и все остальное, что я мог придумать.
Это мой сценарий для копирования рамок:
DEVICE="$(cut -d'-' -f3 <<<"${TARGET_BUILD_DIR}")"
SOURCE="${SRCROOT}/${DEVICE}"
TARGET="${TARGET_BUILD_DIR}/${WRAPPER_NAME}/Frameworks"
for file in ${SOURCE}/*
do
cp -rf "${file}" "${TARGET}"
done
Я перечислил файлы в целевой папке после копии, и они там показаны.
Однако, когда сборка доходит до сборки первого файла, который импортирует инфраструктуру, происходит сбой, говоря, что такого модуля нет.
Мне нужно разрешить моему проекту компилироваться и тестироватькак на симуляторе, так и на устройстве (для CI / CD) для создания сборок.
Приложение имеет одну цель с несколькими схемами для поддержки нескольких сред, и изменить ее невозможно.
Любаяпомощь будет принята с благодарностью.