После некоторых исследований я узнал, что предоставленный скрипт newrelic_postbuild.sh просто заархивирует папку dSYM и загрузит ее с помощью скрипта curl.
Fastlane уже должен выполнить первую часть с действием в тренажерном зале.Просто укажите выходной каталог в вашей обычной полосе сборки Fastfile.
gym({output_directory: "./build")
При выполнении вышеуказанное действие выводит файл символов в: ./build/HelloWorld.app.dSYM.zip
Чтобы загрузить это, добавьте его в переменную и выполните следующее:
NEWRELIC_URL="https://mobile-symbol-upload.newrelic.com/symbol"
NEWRELIC_KEY = "ABCd3fgH1JkLmN0PqRsTuVW8Yz"
DYSM_ZIP_FILE = "./build/HelloWorld.app.dSYM.zip"
Dir.chdir("..") do
sh "curl -F dsym=@\"#{DYSM_ZIP_FILE}\" -H \"x-app-license-key: #{NEWRELIC_KEY}\" \"#{NEWRELIC_URL}\""
end
Это будет сделано.Если вы хотите просто сделать это из скрипта bash, эта команда будет иметь следующий вид:
curl -F dsym=@"${DYSM_ZIP_FILE}" -H "x-app-license-key: ${NEWRELIC_KEY}" "${NEWRELIC_URL}"
Преимущество этого подхода состоит в том, что нам не нужно загромождать наши настройки сборки Xcode дополнительными скриптами, имы можем избежать выполнения ненужного и избыточного скриптового кода.