Fournir xcodebuild avec .fichier mobileprovision
Je suis configurer Jenkins pour l'automatisation de l'iOS construit. Il y a aucune possibilité de fournir une .fichier mobileprovision qui n'est pas ajouté à l'outil de configuration dans Xcode pour xcodebuild?
Je sais que je peux utiliser PROVISIONING_PROFILE et PROVISIONING_PROFILE[sdk=iphoneos*], mais le profil d'approvisionnement à être ajouté à l'Organisateur.
Je sais que je peux faire l'opération avec xcrun. Mais avant d'exécuter xcrun je doit pouvoir se connecter à l'application avec xcodebuild.
Est-il possible que je peux fournir le fichier de profil de configuration (.mobileprovision) à xcodebuild?
Vous devez vous connecter pour publier un commentaire.
Nous avons une solution pour ce - essentiellement ce que vous devez faire est d'installer l' .fichier mobileprovision en le copiant dans un répertoire nommé d'après l'UUID du mobile disposition de fichier. C'est ce que Xcode Organisateur ne fait lorsque vous double-cliquez sur une .fichier mobileprovision.
Il y a un petit programme appelé mpParse qui peut extraire l'UUID à partir du fichier mobileprovision que le script utilise - lien pour le téléchargement dans le code. Alors c'est très simple de copier le fichier mobileprovision à la bonne place.
Voici un script shell que j'ai faite pour ce faire:
Vous pouvez télécharger le script directement https://gist.github.com/2568707
Une fois que vous avez exécuté le script, vous pouvez utiliser PROVISIONING_PROFILE et PROVISIONING_PROFILE[sdk=iphoneos*] dans xcodebuild pour créer votre application. Nous utilisons cette production.
Edit: Juste pour la référence, j'ai demandé essentiellement cette question ici un peu de tout arrière ( Une Xcode .fichier mobileprovision d'être "installé" à partir de la ligne de commande? ) et est venu avec ce qui précède en rien ni personne ne semblait savoir 🙂
Mise à jour:
Comme une alternative à mpParse on pourrait utiliser les outils apple:
/usr/libexec/PlistBuddy -c 'Print UUID' /dev/stdin <<< $(security cms -D -i path_to_mobileprovision)
mpParse
outil tiers, vous pouvez utiliser Applesecurity
etPlistBuddy
outils – voir cette réponse –/usr/libexec/PlistBuddy -c 'Print UUID' /dev/stdin <<< $(security cms -D -i path_to_mobileprovision)
Si vous utilisez soupir de fastlane, vous pouvez l'affecter à une variable
provision_id=sigh
cela fonctionne aussi si soupir a params:
sigh(...)
C'est le seul script qui a fonctionné pour moi:
`var=$(grep UUID -A1 -a | grep -io "[-A-Z0-9]{36}")'
utiliser avec:
"$var.mobileprovision"