Odkryłem, że Testflight obsługuje przesyłanie aplikacji za pośrednictwem wywołania API http://testflightapp.com/api/builds.format
. Akceptuje pakiet aplikacji, dsyms, informacje o aplikacji i inne.Czy jest jakiś automatyczny skrypt do wysyłania Testflight podczas archiwizacji aplikacji?
Moje pytanie brzmi następująco: Czy jest jakiś automatyczny skrypt dla xcode, który załaduje kompilację do Testflight po operacji "archive"? Udostępnij linki, proszę.
rozwiązaniem jest TUTAJ (Mac OS X 10.8):
1) Postępuj this manual i skrypt instalacyjny po wykonanie
2) Usuń Replace "Echo" struny następnej reguły:
#!/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 [email protected]"/tmp/${PRODUCT_NAME}.ipa" \
-F [email protected]"/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) Odkryj profil zaopatrzenia w Finderze: przejdź do profili Organazier/Devices/Provision, następnie prawą myszą w profilu i kliknij "Odkryj w Finderze". Skopiuj nazwę profilu i wklej do PROVISIONING_PROFILE zmienną zamiast <YOUR-PROFILE-NAME>
4) Otwórz terminal i zainstalować terminal-notifier:
sudo gem install terminal-notifier
5) Jesteś gotowy :)
nie wydaje się przesłać za mnie. Mimo że otrzymuję ostatnie powiadomienie, Przesłane do Testflight, ale nic nie zostało przesłane. powiadomienie "Przesłane" wydaje się być szybkie do przesłania 15 MB, co sprawia, że podejrzewam, że przesyłanie nie powiodło się bez ostrzeżenia. jakieś wskazówki? dzięki – Bach
Sprawdź profil udostępniania i SIGNING_IDENTITY ma rację. Czy plik pojawia się w/tmp? –