2013-03-19 16 views
12

Ho trovato che Testflight supporta il caricamento dell'applicazione tramite la chiamata API http://testflightapp.com/api/builds.format. Accetta pacchetti di applicazioni, dsyms, informazioni sull'applicazione e altro.Esiste uno script di caricamento Testflight automatico sull'archiviazione delle applicazioni?

Quindi la mia domanda è la seguente: Esiste uno script automatico per xcode che caricherà la compilazione in Testflight dopo l'operazione di "archiviazione"? Condividi i collegamenti, per favore.

SOLUZIONE È QUI (Mac OS X 10.8):

1) Seguire this manual e script di configurazione post-esecuzione

2) Rimuovere Sostituire stringhe "eco" con la prossima regola:

#!/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) Rivela il profilo di provision nel finder: vai a Organazier/Devices/Profili di provisioning, quindi fai clic con il tasto destro del mouse sul tuo profilo e fai clic su "Reveal in finder". Copiare il nome del profilo e incolla per PROVISIONING_PROFILE variabile anziché <YOUR-PROFILE-NAME>

4) terminale aperto e installare terminal-notifier:

sudo gem install terminal-notifier

5) Sei pronto :)

+0

non sembra caricare per me. Anche se ottengo la notifica finale, caricata su Testflight, ma non è stato caricato nulla. la notifica "Uploaded" sembra molto veloce per un caricamento di 15 Mb, il che mi fa sospettare che il caricamento sia fallito senza alcun preavviso. qualche consiglio? grazie – Bach

+0

Controlla il profilo di provisioning e SIGNING_IDENTITY ha ragione. Il file appare in/tmp? –

risposta

1
+1

Quasi qui :) pochi avvisi: 1) per visualizzare PROVISIONING_PROFILE andare su Organazier/Devices/Profili di provisioning, quindi con il tasto destro del mouse sul tuo profilo e fare clic su "Reveal in finder"; 2) puoi utilizzare solo "Sviluppatore iPhone" come SIGNING_IDENTITY; 3) invece di GROWL usare il terminale-notificatore. –

2

Ecco una bella raccolta di programmi di utilità http://nomad-cli.com/

Ho finito con l'utilizzo di Shenzen per automatizzare le implementazioni di build e testflight.

+0

Shenzen per me è rotto adesso. Non sembra essere sotto uno sviluppo molto attivo. – Alper

3

Ho anche creato una gemma rubino per questo se si desidera integrare questo in compiti rake:

gem install testflight_upload

sorgente sul my github here

+0

grazie a @Miles +1 –

0

Shenzhen non più disponibile, è possibile utilizzare pilot invece. È uno strumento basato su Ruby per caricare nuove build e gestire i beta tester. Sotto il cofano utilizza iTunes Transporter e spaceship.

Problemi correlati