#swift #xcode #gitlab #gitlab-ci #gitlab-ci-runner
#swift #xcode #gitlab #gitlab-ci #gitlab-ci-runner
Вопрос:
Я борюсь с проблемой при использовании Gitlab CI / CD. Я использую для своего проекта две мои внешние фреймворки. Проект создается без ошибок, но при запуске конвейера я получаю сообщение об ошибке, в котором говорится
Этот этап сборки копирования файлов содержит ссылку на отсутствующий файл ‘xxxxxx.framework’.
Мой проект выглядит следующим образом
Это ошибка, которую я получаю:
Когда я добавляю файл фреймворка, а не проект framework, тогда CI / CD пройдет, НО затем я получаю ошибку при попытке архивировать проект
Сборка для iOS, но связанный фреймворк «xxxxxx.framework» был создан для iOS Simulator.
Я не знаю, как решить эти проблемы, чтобы все заработало.
Спасибо за любую помощь. С уважением
Ответ №1:
В случае, если у кого-то возникла эта проблема и он клонирует репозиторий git, в котором есть подмодули, обязательно включите подмодули при клонировании.
Ответ №2:
Скорее всего, вам понадобится использовать x.framework
один из этих 2 вариантов. Ошибка
Сборка для iOS, но связанный фреймворк «xxxxxx.framework» был создан для iOS Simulator.
как говорится, это связано с тем, что фреймворк создан только для iOS Simulator.
Почему это?
Ну, симулятор iOS работает на архитектуре x86_64 (как и OS X), в то время как iOS работает на архитектуре arm. Поэтому вам придется скомпилировать фреймворки для обеих архитектур. К счастью, есть способ сделать это, и в основном то, что вам нужно достичь, — это создать толстый двоичный файл фреймворка.
Здесь есть скрипт от Sundeep Gupta https://gist.github.com/sundeepgupta/3ad9c6106e2cd9f51c68cf9f475191fa который может быть использован для компиляции фреймворков как для iOS Simulator, так и для целевых архитектур iOS. В Интернете также есть несколько различных ресурсов, которые объясняют, какие шаги вам нужно выполнить, чтобы создать двоичные файлы fat.