web-dev-qa-db-fra.com

Rechercher un profil d'approvisionnement dans Xcode 5

Dans Xcode 5, je peux obtenir la liste des profils de provisioning sous Xcode >> preferences >> accounts >> view details. Je souhaite copier le profil et l'envoyer à l'un de mes clients, mais je ne parviens pas à effectuer un clic droit dessus pour le trouver à l'aide de l'option "Afficher le profil dans le Finder".

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

enter image description here

103
Ankur

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

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

~/Library/MobileDevice/Provisioning Profiles

Mise à jour:

Pour le terminal:

cd ~/Library/MobileDevice/Provisioning\ Profiles
221
matzino

vérifiez ici:

~/Library/MobileDevice/Provisioning Profiles
31
yasirmturk

Ce qui suit fonctionne pour moi à l'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 rechercher quelles clés de signature sont utilisées par un profil particulier avec un one-liner Shell. Fondamentalement, vous devez faire:

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

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

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

vider chaque certificat. La ligne après le second CommonName dans la sortie sera le nom de la clé, par exemple. "Développeur iPhone: Joe Bloggs (ABCD1234X)".

18
user23614

xCode 6 vous permet de cliquer avec le bouton droit de la souris sur le profil de provisioning sous le compte -> détail (la capture d'écran que vous avez là) & affiche une fenêtre "Afficher dans le Finder".

14
user2962499

S'il est suffisant 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 contenant 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 retourne également la première correspondance, mais il est plus facile de travailler avec.

#!/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é depuis le répertoire profiles, $ HOME/Library/MobileDevice/Profils de provisioning:

~/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

8
bvj

Vous pouvez utiliser "iPhone Configuration Utility" pour gérer les profils de provisioning.

6
ChenXin

J'ai écrit un script bash simple pour résoudre ce problème stupide. Indiquez le chemin d'accès à une copie nommée de votre provision (téléchargée à partir de developer.Apple.com) pour identifier le fichier renommé GUID correspondant dans votre bibliothèque de provisions:

#!/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
6
user1467074

Ce n'est pas exactement pour Xcode5, mais cette question relie les personnes qui veulent vérifier où sont les profils d'approvisionnement:
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 voir, puis cliquez sur Afficher les détails. enter image description here Dans la boîte de dialogue qui apparaît, affichez vos identités de signature et vos profils de provisioning. Si un bouton Créer apparaît à côté d'un certificat, celui-ci n'a pas encore été créé. Si un bouton Télécharger apparaît en regard d'un profil d'approvisionnement, il ne figure pas sur votre Mac. enter image description here

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

3
pbaranski