Есть ли какой-нибудь скрипт автоматической загрузки Testflight при архивации приложения?
Я обнаружил, что Testflight поддерживает загрузку приложений через вызов API http://testflightapp.com/api/builds.format
, Принимает пакет приложений, dsyms, информацию о приложении и прочее.
Поэтому мой вопрос следующий: есть ли какой-нибудь автоматический скрипт для xcode, который будет загружать сборку в Testflight после операции "архив"? Поделитесь ссылками, пожалуйста.
РЕШЕНИЕ ЗДЕСЬ (Mac OS X 10.8):
1) Следуйте этому руководству и настройте скрипт после выполнения
2) Удалить. Заменить строки "echo" следующим правилом:
#!/bin/bash
#
# (Above line comes out when placing in Xcode scheme)
#
API_TOKEN="<YOUR-TESTFLIGHT-API-TOKEN>"
TEAM_TOKEN="<YOUR-TESTFLIGHT-TEAM-TOKEN>"
SIGNING_IDENTITY="iPhone Developer"
PROVISIONING_PROFILE="${HOME}/Library/MobileDevice/Provisioning Profiles/<YOUR-PROFILE-NAME>.mobileprovision"
LOG="/tmp/testflight.log"
GROWL="/usr/bin/terminal-notifier -title Xcode -message"
DATE=$( /bin/date +"%Y-%m-%d" )
ARCHIVE=$( /bin/ls -t "${HOME}/Library/Developer/Xcode/Archives/${DATE}" | /usr/bin/grep xcarchive | /usr/bin/sed -n 1p )
DSYM="${HOME}/Library/Developer/Xcode/Archives/${DATE}/${ARCHIVE}/dSYMs/${PRODUCT_NAME}.app.dSYM"
APP="${HOME}/Library/Developer/Xcode/Archives/${DATE}/${ARCHIVE}/Products/Applications/${PRODUCT_NAME}.app"
#/usr/bin/open -a /Applications/Utilities/Console.app $LOG
#echo -n "Creating .ipa for ${PRODUCT_NAME}... " > $LOG
${GROWL} "Creating .ipa for ${PRODUCT_NAME}"
/bin/rm "/tmp/${PRODUCT_NAME}.ipa"
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${APP}" -o "/tmp/${PRODUCT_NAME}.ipa" --sign "${SIGNING_IDENTITY}" --embed "${PROVISIONING_PROFILE}"
#echo "done." >> $LOG
${GROWL} "Created .ipa for ${PRODUCT_NAME}"
#echo -n "Zipping .dSYM for ${PRODUCT_NAME}..." >> $LOG
${GROWL} "Zipping .dSYM for ${PRODUCT_NAME}"
/bin/rm "/tmp/${PRODUCT_NAME}.dSYM.zip"
/usr/bin/zip -r "/tmp/${PRODUCT_NAME}.dSYM.zip" "${DSYM}"
#echo "done." >> $LOG
${GROWL} "Created .dSYM for ${PRODUCT_NAME}"
#echo -n "Uploading to TestFlight... " >> $LOG
${GROWL} "Uploading to TestFlight"
/usr/bin/curl "http://testflightapp.com/api/builds.json" \
-F file=@"/tmp/${PRODUCT_NAME}.ipa" \
-F dsym=@"/tmp/${PRODUCT_NAME}.dSYM.zip" \
-F api_token="${API_TOKEN}" \
-F team_token="${TEAM_TOKEN}" \
-F notes="Build uploaded automatically from Xcode."
#echo "done." >> $LOG
${GROWL} "Uploaded to TestFlight"
/usr/bin/open "https://testflightapp.com/dashboard/builds/"
3) Откройте профиль обеспечения в Finder: перейдите в Organazier/ Устройства / Профили обеспечения, затем щелкните правой кнопкой мыши свой профиль и нажмите "Показать в Finder". Скопируйте имя профиля и вставьте в переменную PROVISIONING_PROFILE вместо <YOUR-PROFILE-NAME>
4) Откройте терминал и установите терминал-уведомитель:
sudo gem install terminal-notifier
5) Ты готов:)
4 ответа
Вот один хороший урок... может быть полезен для вас:
http://developmentseed.org/blog/2011/sep/02/automating-development-uploads-testflight-xcode/
Я также создал рубиновый гем для этого, если вы хотите интегрировать это в задачи rake:
gem install testflight_upload
источник на моем github здесь
Вот хорошая коллекция утилит http://nomad-cli.com/
В итоге я использовал Shenzen для автоматизации сборок и тестовых развертываний.
Шэньчжэнь больше не выпускается, вместо него можно использовать пилота. Это инструмент на основе Ruby для загрузки новых сборок и управления вашими бета-тестерами. Под капотом он использует iTunes Transporter и космический корабль.