Non ho trovato nulla su questo (forse sto usando solo i termini di ricerca sbagliati ..):
Stiamo provando a creare un'impostazione di integrazione continua sensibile per le nostre app. Per avere un'implementazione REALMENTE ragionevole, il server di build dovrebbe essere in grado di aggiornare automaticamente i profili di provisioning utilizzati da Apple. Simile a ciò che fa l'organizzatore X-Code, ma automagicamente tramite la riga di comando.
Qualsiasi indizio se è possibile?Riga di comando Aggiornamento dei profili di provisioning
risposta
Ecco il mio script di bash per questo, in cui il primo argomento dello script ($ 1) è la posizione dei nuovi profili.
rm -Rf ~/Library/MobileDevice/Provisioning\ Profiles/*
cp "$1"/*.* ~/Library/MobileDevice/Provisioning\ Profiles/
In sostanza, qualsiasi cosa in quel ~/Library/MobileDevice/Prevenzione Profili/cartella può essere utilizzata per costruire con (e apparirà in Xcode).
Se stai cercando un sistema CI, recentemente ho tenuto un discorso sull'utilizzo di Hudson per questo, e ho inserito alcune diapositive e note over here. La mia e-mail è sul mio sito se avete domande su di esso.
cool, grazie per la risposta. Ma hai qualche idea di come ottenere $ 1? Come si ottengono i profili sulla macchina di compilazione in primo luogo? – LordT
Il mio lavoro si sta principalmente contraendo e ogni cliente ha il proprio account iTunes Connect, quindi ho delegato di nuovo a loro. Formati su come aggiornare i profili di provisioning con i nuovi UDID e ho condiviso una cartella Dropbox.com con ognuno di essi dove mantengono i loro specifici profili di provisioning. Il primo passo del mio processo di compilazione è l'aggiornamento dei profili di provisioning con quelli specifici del client su Dropbox, quindi le build usano sempre le ultime. Il caricamento di un nuovo profilo è anche un attivatore di build, in modo che possano aggiungere nuovi dispositivi e ottenere una nuova build senza il mio intervento. –
ok, questo ha senso. Come si attiva una nuova build utilizzando una casella personale? Folderactions? O c'è un'opzione specifica per fare questo? – LordT
Provare a utilizzare apple_dev_center.rb da https://github.com/lacostej/apple-dev
Si analizza le informazioni dal sito web degli sviluppatori di Apple e scaricare i profili per voi per copiarli nella posizione corretta automaticamente.
Aggiornamento: Cupertino non funzionerà più sull'ultimo iTunes. Considerare di usare sigh invece
Suona come l'interfaccia a riga di comando vi aiuterà fuori tempo grande:
https://github.com/nomad/cupertino
che permette di scaricare tutti i profili di distribuzione in questo modo (@tdubik grazie):
ios profiles:download:all --type distribution
Un altro approccio sarebbe utilizzare un Ente licenza di sviluppo rprise ($ 300/anno) che consente di creare i dispositivi senza il provisioning! In questo modo puoi creare la tua app e inviarla a un dispositivo senza dover mai accedere al centro Apple Dev o registrare nuovi dispositivi.
Nota che questo non ti permetterebbe di distribuire la tua app nell'appstore, ma se sei una casa di sviluppo che costruisce tonnellate di app per i clienti, potrebbe facilitare il tuo processo di "compilazione e invio ai clienti" piuttosto pezzo! Non sono sicuro che questo sia nelle politiche di utilizzo legittimo di Apple o no, quindi per favore verificalo prima di considerare questa opzione. Ma potrebbe essere qualcosa da considerare per i prototipi, ecc., E quando in realtà vogliono spedirli, si ottiene loro di ottenere la propria licenza per i programmi per sviluppatori.
Le licenze aziendali non sono destinate alla distribuzione dell'App Store, quindi è necessario disporre di un altro account sviluppatore con Apple per utilizzarlo in modo produttivo (supponendo che si preveda di spedire le app all'App Store). – danieljimenez
Buon punto ... Ho dimenticato di dirlo ... grazie! –
Grazie per il link github! La migliore risposta qui. Tuttavia, non raccomanderei l'uso di Enterprise per la creazione di app per i client: a Apple non piace. L'azienda è "per la distribuzione interna solo all'interno dell'azienda" e ritengo che l'accordo affermi che è necessario avere il controllo di tutti i dispositivi utilizzati con Enterprise. – Sperr
Ho cercato di fare questo lavoro per qualche tempo. Finalmente fatto !!
È possibile utilizzare fastlane sospiro per scaricare e installare solo il profilo provvisorio necessario.
fastlane sigh renew --adhoc -n "provisional_profile_name"
--app_identifier "your_app_identifier" -u "apple_login _username" --ignore_profiles_with_different_name
Nota: Questo comando serve qualsiasi profilo provvisorio delle app già installato nel sistema. Ha gettato un errore per me altrimenti.
provisional_profile_name = Solo il nome del nome profilo, non necessario estensione.
Sigh
in grado di gestire i profili di provisioning per voi. Tuttavia, non supporta l'installazione di profili che hai già recuperato. Tuttavia, ho ancora trovato prezioso per guardare il loro source for how they actually install a profile once they've downloaded it.
Per fortuna, è molto simile a James J's answer:
def self.install_profile(profile)
UI.message "Installing provisioning profile..."
profile_path = File.expand_path("~") + "/Library/MobileDevice/Provisioning Profiles/"
uuid = ENV["SIGH_UUID"] || ENV["SIGH_UDID"]
profile_filename = uuid + ".mobileprovision"
destination = profile_path + profile_filename
# If the directory doesn't exist, make it first
unless File.directory?(profile_path)
FileUtils.mkdir_p(profile_path)
end
# copy to Xcode provisioning profile directory
FileUtils.copy profile, destination
if File.exist? destination
UI.success "Profile installed at \"#{destination}\""
else
UI.user_error!("Failed installation of provisioning profile at location: #{destination}")
end
end
Ho uno script per eseguire questa installazione locale per me:
#!/bin/bash -euo pipefail
BASH_SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$BASH_SOURCE_DIR"
# by default bash passes the glob characters if nothing matched the glob
# disable that
# http://stackoverflow.com/a/18887210/9636
shopt -s nullglob
# this creates a proper bash array, which we need since our profiles
# have funny characters in them
MOBILE_PROVISIONS=(*.mobileprovision)
# re-enable default nullglob behavior
shopt -u nullglob
# On a brand new machine that has never run any app on a development device
# the ~/Library/MobileDevice/"Provisioning Profiles" directory doesn't exist
mkdir -p ~/Library/MobileDevice/"Provisioning Profiles"
for mobileprovision in "${MOBILE_PROVISIONS[@]}"
do
uuid=$(./uuid-from-mobileprovision.bash "${mobileprovision}")
cp "${mobileprovision}" ~/Library/MobileDevice/"Provisioning Profiles"/"${uuid}".mobileprovision
done
che dipende da un altro uuid-from-mobileprovision.bash
script:
#!/bin/bash -euo pipefail
if [ ! -f "${1}" ]
then
echo "Usage: $0 <path/to/mobileprovision/file>" 1>&2
exit 1
fi
UUID=$(grep --text --after-context=1 UUID "${1}" | grep --ignore-case --only-matching "[-A-Z0-9]\{36\}")
if [ -z "${UUID}" ]
then
echo "Invalid mobileprovision file: ${1}" 1>&2
exit 2
else
echo "${UUID}"
fi
- 1. Arresto anomalo Xcode durante l'aggiornamento dei profili di provisioning
- 2. Nessuno dei profili di provisioning validi include i dispositivi iPhone
- 3. Xcode non visualizza l'elenco dei profili di provisioning
- 4. xcode non trovato profili di provisioning corrispondenti
- 5. Xcode 5 non importa i profili di provisioning
- 6. Aggiornamento dipendenze compositore dalla riga di comando
- 7. Profili di provisioning + Notifiche push + Produzione e sviluppo
- 8. Xcode si arresta in modo anomalo durante l'aggiornamento dei profili di provisioning
- 9. Errore XCode "Numero insufficiente di elementi nei team" durante l'aggiornamento dei profili di provisioning
- 10. Certificati, profili di provisioning, chiavi pubbliche/private demistificate
- 11. Più certificati/profili di provisioning in un organizer Xcode?
- 12. iOS: A cosa servono i profili di provisioning DISTRIBUTION?
- 13. Problemi del Game Center: iTunes Connect? Profili di provisioning? Qualcos'altro?
- 14. Aggiornamento alla versione più recente dalla riga di comando
- 15. ios - Aggiungi dispositivo al provisioning Profili gestiti da Xcode
- 16. Profilo di provisioning non trovato
- 17. profili di provisioning No installati corrispondono le chiavi di firma del codice di iOS installata
- 18. Installa l'estensione VS.NET dalla riga di comando
- 19. Corporatura Web di distribuzione dei pacchetti dalla riga di comando
- 20. Disabilitazione dei controlli di chiave esterna sulla riga di comando
- 21. Test unitario dei profili Automapper
- 22. Aggiornamento profilo di provisioning iOS dopo l'approvazione del certificato
- 23. I profili di provisioning vengono invalidati dopo l'aggiornamento nella scheda "Account" di Xcode
- 24. Xcode Watchkit: nessuno dei profili di provisioning validi ha permesso le titolarità specificate: beta-reports-active, com.apple.security.application-groups
- 25. Profilo di provisioning distribuzione di App Store e profilo di provisioning di sviluppo
- 26. Libreria Java per l'analisi dei parametri della riga di comando?
- 27. controlla la durata dei file audio sulla riga di comando
- 28. Limitazione dei valori delle opzioni della riga di comando
- 29. Java: aggiornamento del testo nella riga di comando senza una nuova riga
- 30. Clonazione dei profili di pubblicazione di Visual Studio 2012
Grazie per questa domanda. Fino ad ora, la mia soluzione da riga di comando era '$ open vnc: // server' ;-) – mpontillo
Dai un'occhiata al seguente URL;
http://stackoverflow.com/questions/4369119/how-to-install-developer-certificate-private-key-and-provisioning-profile-for-ios Penso che sarà d'aiuto. – jfalexvijay