Во-первых, у меня есть Mac Mini с работающим сервером на Mavericks и установленным Xcode 5. На сервере у меня есть проекты iOS, настроенные с помощью ботов для запуска автоматических сборок моего репозитория Github при каждой фиксации в мастере. Что я хочу выяснить, так это то, что кто-то уже настроил такую настройку для работы с автоматическими сборками, отправляемыми в TestFlight.
Сценарий, который ранее работал с процессом сборки Jenkins, вставлен ниже, но выдает ошибку и не загружается, когда бот завершает сборку. У меня этот скрипт запускается после завершения процесса архивации моего приложения.
Ошибка журнала сервера:
Печать: запись, CFBundleVersion, не существует
ошибка: указанное приложение не существует или не является каталогом пакета: '/Library/Server/Xcode/Data/BotRuns/Cache/s892fj1n2-f4bb-2514-522v-2a23d0f0c725/DerivedData/Build/Products/Debug-iphoneos/ myApp.ipa'
Скрипт:
PLIST_FILE=$(echo -n "${SRCROOT}/${INFOPLIST_FILE}")
BUILD_TYPE=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PLIST_FILE}")
API_TOKEN="<API_TOKEN>"
TEAM_TOKEN="<SECRET>"
APP="${BUILD_ROOT}/Debug-iphoneos/${FULL_PRODUCT_NAME}"
/bin/rm "/bots/${PRODUCT_NAME}.ipa"
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${APP}" -o "/bots/${PRODUCT_NAME}.ipa"
/usr/bin/curl "http://testflightapp.com/api/builds.json" \
-F file=@"/bots/${PRODUCT_NAME}.ipa" \
-F a pi_token="${API_TOKEN}" \
-F team_token="${TEAM_TOKEN}" \
-F notes="Build uploaded automatically from server." \
-F distribution_lists="internal"
ОБНОВЛЕНИЕ 20 ноября:
Хороший ресурс, который можно попробовать: TestFlight Bots< /а>
Я не заставил его работать пару недель назад, но сообщение было обновлено с тех пор, как я в последний раз пытался.