Trova il profilo di provisioning in Xcode 5


104

In Xcode 5, posso ottenere l'elenco dei profili di provisioning in Xcode >> preferences >> accounts >> view details. Voglio copiare il profilo e devo inviarlo a uno dei miei clienti, ma non sono in grado di fare clic destro su di esso per trovarlo utilizzando l' opzione " Rivela profilo nel Finder ".

Come posso ottenere un profilo di provisioning specifico in XCode 5 o devo scaricarlo da developer.apple ogni volta?

inserisci qui la descrizione dell'immagine


Usa questa soluzione per Xcode 5! stackoverflow.com/a/18504418/1463604
Nishant

Possibile duplicato della voce di menu Profili
Simon East

Risposte:


223

Ho trovato un modo per scoprire come viene chiamato il tuo profilo di provisioning. Seleziona il profilo che desideri nella sezione del segno del codice nelle impostazioni di build, quindi apri di nuovo la vista di selezione e fai clic su "altro" in basso. Quindi si verifica una visualizzazione con il nome del profilo di fornitura selezionato corrente.

È ora possibile trovare il file del profilo nel percorso:

~/Library/MobileDevice/Provisioning Profiles

Aggiornare:

Per il terminale:

cd ~/Library/MobileDevice/Provisioning\ Profiles

9
Per il terminal: cd ~/Library/MobileDevice/Provisioning\ Profiles
tsafrir

1
per trovare i profili generati automaticamente utilizzare grep -l "iOSTeam Provisioning Profile: com.your.bundle.id." *
tsafrir

1
È possibile modificare la posizione predefinita del profilo ..? Come dire a xcode di utilizzare il profilo da un'altra posizione quando creiamo utilizzando lo strumento a riga di comando "xcodebuild" ..?
Sreedhar GS

For terminal: cd ~/Library/MobileDevice/Provisioning\ Profilesdeve essere evidenziato grazie @tsafrir
Ashok R

30

controlla qui:

~/Library/MobileDevice/Provisioning Profiles

8
i file del profilo di provisioning sono leggibili in un editor di testo, quindi puoi semplicemente aprire i file in questa directory in un editor di testo, ad esempio open -a TextEdit /Users/$(whoami)/Library/MobileDevice/Provisioning\ Profiles/4A733DA3-07E3-43A3-9AB2-2D25070153EB.mobileprovision e cercare " <key> Name </key> " per trovare il nome del profilo come appare su Apple Member Center o nelle preferenze dell'account Xcode.
jhavatar

18

Quanto segue funziona per me al prompt dei comandi

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

Scoprire quali chiavi di firma sono utilizzate da un particolare profilo è più difficile da fare con un one-liner shell. Fondamentalmente devi fare:

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

quindi taglia e incolla ogni blocco di dati base64 dopo la voce DeveloperCertificates nel proprio file. È quindi possibile utilizzare:

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

per scaricare ogni certificato. La riga dopo il secondo commonName nell'output sarà il nome della chiave, ad esempio "iPhone Developer: Joe Bloggs (ABCD1234X)".


14

xCode 6 ti consente di fare clic con il pulsante destro del mouse sul profilo di provisioning sotto account -> dettagli (la schermata che hai lì) e mostra un popup "mostra nel finder".


9

Se è sufficiente utilizzare i seguenti criteri per individuare il profilo:

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

puoi scansionare la directory usando awk. Questo one-liner troverà il primo file che contiene il nome che inizia con "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}' *

Ecco uno script che restituisce anche la prima corrispondenza, ma è più facile da lavorare.

#!/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" *

Può essere chiamato dalla directory dei profili, $ HOME / Library / MobileDevice / Provisioning Profiles :

~/findprov "iOS Team"

Per utilizzare lo script, salvarlo in una posizione adatta e ricordarsi di impostare la modalità eseguibile; ad esempio, chmod ugo + x


2
Roba fantastica. Basta aggiungere cd "${HOME}/Library/MobileDevice/Provisioning Profiles/"prima del comando awk e puoi chiamarlo da qualsiasi luogo tu voglia.
onekiloparsec

6

Puoi utilizzare "iPhone Configuration Utility" per gestire i profili di provisioning.


"iPhone Configuration Utility" è stato sostituito da "Apple Configurator"
mahal tertin

ma Apple Configurator non individua automaticamente i profili di provisioning, come fa l'utilità di configurazione di iPhone.
Raptor

6

Ho scritto un semplice script bash per aggirare questo stupido problema. Passa il percorso a una copia denominata del tuo provisioning (scaricato da developer.apple.com) e identificherà il file GUID rinominato corrispondente nella tua libreria di provisioning:

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

3

Non è esattamente per Xcode5, ma questa domanda collega le persone che vogliono controllare dove si trovano i profili di provisioning:
seguente documentazione https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html

  1. Scegli Xcode> Preferenze.
  2. Fai clic su Account nella parte superiore della finestra.
  3. Seleziona il team che desideri visualizzare e fai clic su Visualizza dettagli. inserisci qui la descrizione dell'immagine Nella finestra di dialogo visualizzata, visualizza le identità di firma e i profili di provisioning. Se accanto a un certificato viene visualizzato un pulsante Crea, significa che non è stato ancora creato. Se un pulsante Scarica viene visualizzato accanto a un profilo di provisioning, non è sul tuo Mac. inserisci qui la descrizione dell'immagine

Dieci puoi avviare il menu contestuale su ogni profilo e fare clic su "Mostra nel Finder" o "Sposta nel cestino".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.