Rechercher un profil d'approvisionnement dans Xcode 5

104

Dans Xcode 5, je peux obtenir la liste des profils d'approvisionnement sous Xcode >> preferences >> accounts >> view details. Je veux copier le profil et je dois l'envoyer à l'un de mes clients, mais je ne peux pas faire un clic droit dessus pour le trouver en utilisant l' option " Révéler le profil dans le Finder ".

Comment puis-je obtenir un profil d'approvisionnement spécifique dans XCode 5 ou dois-je le télécharger à partir de developer.apple à chaque fois?

entrez la description de l'image ici

Ankur
la source
Utilisez cette solution pour Xcode 5! stackoverflow.com/a/18504418/1463604
Nishant

Réponses:

223

J'ai trouvé un moyen de savoir comment votre profil d'approvisionnement est nommé. Sélectionnez le profil que vous voulez dans la section signe de code dans les paramètres de construction, puis ouvrez à nouveau la vue de sélection et cliquez sur "autre" en bas. Ensuite, apparaît une vue avec le nom du profil d'approvisionnement sélectionné en cours.

Vous pouvez maintenant trouver le fichier de profil sur le chemin:

~/Library/MobileDevice/Provisioning Profiles

Mettre à jour:

Pour le terminal:

cd ~/Library/MobileDevice/Provisioning\ Profiles
matzino
la source
9
Pour le terminal: cd ~/Library/MobileDevice/Provisioning\ Profiles
tsafrir
1
pour trouver des profils générés automatiquement, utilisez grep -l "iOSTeam Provisioning Profile: com.your.bundle.id." *
tsafrir
1
Est-il possible de changer l'emplacement par défaut du profil ..? Comment dire à xcode d'utiliser le profil d'un autre emplacement lorsque nous construisons à l'aide de l'outil de ligne de commande "xcodebuild" ..?
Sreedhar GS
For terminal: cd ~/Library/MobileDevice/Provisioning\ Profilesdoit être mis en évidence merci @tsafrir
Ashok R
30

Vérifiez ici:

~/Library/MobileDevice/Provisioning Profiles
yasirmturk
la source
8
les fichiers de profil d'approvisionnement sont lisibles dans un éditeur de texte, vous pouvez donc simplement ouvrir les fichiers de ce répertoire dans un éditeur de texte, par exemple open -a TextEdit /Users/$(whoami)/Library/MobileDevice/Provisioning\ Profiles/4A733DA3-07E3-43A3-9AB2-2D25070153EB.mobileprovision et rechercher " <key> Nom </key> " pour trouver le nom du profil tel qu'il apparaît sur Apple Member Center ou dans les préférences du compte Xcode.
jhavatar
18

Ce qui suit fonctionne pour moi à une invite de commande

cd ~/Library/MobileDevice/Provisioning\ Profiles/
for f in *.mobileprovision; do echo $f; openssl asn1parse -inform DER -in $f | grep -A1 application-identifier; done

Il est plus difficile de savoir quelles clés de signature sont utilisées par un profil particulier avec un shell one-liner. En gros, vous devez faire:

openssl asn1parse -inform DER -in your-mobileprovision-filename

puis copiez et collez chaque bloc de données base64 après l' entrée DeveloperCertificates dans son propre fichier. Vous pouvez alors utiliser:

openssl asn1parse -inform PEM -in file-with-base64

pour vider chaque certificat. La ligne après le deuxième commonName dans la sortie sera le nom de la clé, par exemple "iPhone Developer: Joe Bloggs (ABCD1234X)".

user23614
la source
14

xCode 6 vous permet de faire un clic droit sur le profil d'approvisionnement sous compte -> détail (la capture d'écran que vous avez là-bas) et affiche une fenêtre contextuelle "Afficher dans le Finder".

user2962499
la source
9

S'il suffit d'utiliser les critères suivants pour localiser le profil:

<key>Name</key>
<string>iOS Team Provisioning Profile: *</string>

vous pouvez scanner le répertoire en utilisant awk. Ce one-liner trouvera le premier fichier qui contient le nom commençant par "iOS Team".

awk 'BEGIN{e=1;pat="<string>"tolower("iOS Team")}{cur=tolower($0);if(cur~pat &&prev~/<key>name<\/key>/){print FILENAME;e=0;exit};if($0!~/^\s*$/)prev=cur}END{exit e}' *

Voici un script qui renvoie également la première correspondance, mais avec lequel il est plus facile de travailler.

#!/bin/bash

if [ $# != 1 ] ; then
    echo Usage: $0 \<start of provisioning profile name\>
    exit 1
fi

read -d '' script << 'EOF'
BEGIN {
    e = 1
    pat = "<string>"tolower(prov)
}
{
    cur = tolower($0)
    if (cur ~ pat && prev ~ /<key>name<\\/key>/) {
        print FILENAME
        e = 0
        exit
    }
    if ($0 !~ /^\s*$/) {
        prev = cur
    }
}
END {
 exit e
}
EOF


awk -v "prov=$1" "$script" *

Il peut être appelé à partir du répertoire des profils, $ HOME / Library / MobileDevice / Provisioning Profiles :

~/findprov "iOS Team"

Pour utiliser le script, enregistrez-le dans un emplacement approprié et n'oubliez pas de définir le mode exécutable; par exemple, chmod ugo + x

bvj
la source
2
Super truc. Ajoutez simplement cd "${HOME}/Library/MobileDevice/Provisioning Profiles/"avant la commande awk, et vous pouvez l'appeler de n'importe où.
onekiloparsec
6

Vous pouvez utiliser «Utilitaire de configuration iPhone» pour gérer les profils d'approvisionnement.

ChenXin
la source
"iPhone Configuration Utility" est remplacé par "Apple Configurator"
mahal tertin
mais Apple Configurator ne localise pas automatiquement les profils de provisionnement, comme le fait l'utilitaire de configuration iPhone.
Raptor
6

J'ai écrit un simple script bash pour contourner ce problème stupide. Passez le chemin vers une copie nommée de votre provision (téléchargée à partir de developer.apple.com) et il identifiera le fichier renommé par GUID correspondant dans votre bibliothèque de provision:

#!/bin/bash

if [ -z "$1" ] ; then
  echo -e "\nUsage: $0 <myprovision>\n"
  exit
fi

if [ ! -f "$1" ] ; then
  echo -e "\nFile not found: $1\n"
  exit
fi

provisionpath="$HOME/Library/MobileDevice/Provisioning Profiles"
provisions=$( ls "$provisionpath" )

for i in $provisions ; do
  match=$( diff "$1" "$provisionpath/$i" )
  if [ "$match" = "" ] ; then
    echo -e "\nmatch: $provisionpath/$i\n"
  fi
done
user1467074
la source
3

Ce n'est pas exactement pour Xcode5 mais cette question relie les personnes qui souhaitent vérifier où se trouvent les profils de provisionnement:
Documentation suivante https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html

  1. Choisissez Xcode> Préférences.
  2. Cliquez sur Comptes en haut de la fenêtre.
  3. Sélectionnez l'équipe que vous souhaitez afficher, puis cliquez sur Afficher les détails. entrez la description de l'image ici Dans la boîte de dialogue qui s'affiche, affichez vos identités de signature et vos profils d'approvisionnement. Si un bouton Créer apparaît à côté d'un certificat, il n'a pas encore été créé. Si un bouton Télécharger apparaît à côté d'un profil d'approvisionnement, ce n'est pas sur votre Mac. entrez la description de l'image ici

Dix vous pouvez démarrer le menu contextuel sur chaque profil et cliquer sur "Afficher dans le Finder" ou "Déplacer vers la corbeille".

Pbaranski
la source