Описание Bash скрипта

Этот скрипт предназначен для автоматической упаковки и отправки отладочных символов (dSYM) на сервер при создании релизной сборки приложения в Xcode.

Установка

Для корректной работы скрипта необходимо добавить его в Run Script Phase вашего таргета в Xcode. Скрипт будет запускаться при каждой Release-сборке и отправлять файлы dSYM на сервер.

Шаги для добавления скрипта:

  • Откройте Xcode и выберите нужный таргет.
  • В разделе Build Phases нажмите кнопку + и выберите New Run Script Phase.
  • Вставьте приведённый ниже скрипт в текстовое поле.
#!/bin/bash PLUGIN_TOKEN="" cd ${BUILT_PRODUCTS_DIR} if [[ "${ACTION}" == "install" ]] && [[ "${CONFIGURATION}" == "Release" ]]; then zip -r ${PRODUCT_NAME}.app.dSYM.zip *.dSYM curl --location https://plugin-api.apptracer.ru/api/symbol/upload?symbolToken=${PLUGIN_TOKEN} \ --form versionName=${PRODUCT_NAME} \ --form versionCode=${MARKETING_VERSION} \ --form file=@${PRODUCT_NAME}.app.dSYM.zip \ --http1.1 fi

Большинство параметров скрипта подтягиваются автоматически – задавать их самостоятельно не нужно. Единственным параметром, который требует инициализации с вашей стороны, является PLUGIN_TOKEN:

ПараметрОписание
PLUGIN_TOKENТокен, необходимый для авторизации при отправке символов на сервер Tracer. Замените пустую строку на свой токен.
BUILT_PRODUCTS_DIRПеременная окружения Xcode, указывающая путь к папке, где находится собранное приложение.
ACTIONОпределяет действие сборки. Для отправки символов требуется действие install.
CONFIGURATIONОпределяет конфигурацию сборки. Для отправки символов требуется конфигурация Release.
MARKETING_VERSIONВерсия приложения, заданная в настройках Xcode.
PRODUCT_NAMEИмя приложения, которое используется для генерации имени архива dSYM.

Настройка Input Files

Для корректной работы скрипта Xcode должен знать, что файл dSYM является входным. Добавьте следующий путь в раздел Input Files в Run Script Phase:

$(BUILT_PRODUCTS_DIR)/${PRODUCT_NAME}.app.dSYM

Как работает скрипт

  • Скрипт активируется только при выполнении команды Archive с Release конфигурацией.
  • Если условия выполнены, создается архив с dSYM файлами приложения.
  • Архив отправляется на сервер Tracer с помощью HTTP-запроса curl, где передаются имя приложения, версия сборки и сам архив.