Suchen Sie das Bereitstellungsprofil in Xcode 5

104

In Xcode 5 kann ich eine Liste der Bereitstellungsprofile unter abrufen Xcode >> preferences >> accounts >> view details. Ich möchte ein Profil kopieren und muss es an einen meiner Kunden senden, kann jedoch nicht mit der rechten Maustaste darauf klicken, um es mit der Option " Profil im Finder anzeigen " zu finden .

Wie kann ich ein bestimmtes Bereitstellungsprofil in XCode 5 erhalten oder muss ich es jedes Mal von developer.apple herunterladen?

Geben Sie hier die Bildbeschreibung ein

Ankur
quelle
Verwenden Sie diese Lösung für Xcode 5! stackoverflow.com/a/18504418/1463604
Nishant
Mögliches Duplikat des Menüelements "Bereitstellungsprofile" fehlt in Xcode 5
Simon East

Antworten:

223

Ich habe einen Weg gefunden, um herauszufinden, wie Ihr Bereitstellungsprofil benannt ist. Wählen Sie das gewünschte Profil im Abschnitt Codezeichen in den Build-Einstellungen aus, öffnen Sie die Auswahlansicht erneut und klicken Sie unten auf "Andere". Anschließend erfolgt eine Ansicht mit der Benennung des aktuell ausgewählten Bereitstellungsprofils.

Sie finden die Profildatei jetzt im Pfad:

~/Library/MobileDevice/Provisioning Profiles

Aktualisieren:

Für Terminal:

cd ~/Library/MobileDevice/Provisioning\ Profiles
Matze
quelle
9
Für Terminal: cd ~/Library/MobileDevice/Provisioning\ Profiles
Tsafrir
1
grep -l "iOSTeam Provisioning Profile: com.your.bundle.id." *
Um
1
Ist es möglich, den Standardspeicherort des Profils zu ändern? Wie kann ich feststellen, dass xcode das Profil von einem anderen Ort aus verwendet, wenn wir mit dem Befehlszeilentool "xcodebuild" erstellen?
Sreedhar GS
For terminal: cd ~/Library/MobileDevice/Provisioning\ Profilesmuss hervorgehoben werden danke @tsafrir
Ashok R
30

überprüfe hier:

~/Library/MobileDevice/Provisioning Profiles
yasirmturk
quelle
8
Die Bereitstellungsprofildateien können in einem Texteditor gelesen werden, sodass Sie die Dateien in diesem Verzeichnis einfach in einem Texteditor öffnen können, z. B. open -a TextEdit /Users/$(whoami)/Library/MobileDevice/Provisioning\ Profiles/4A733DA3-07E3-43A3-9AB2-2D25070153EB.mobileprovision nach " <key> Name </ key> " suchen, um den Namen des Profils zu finden, wie er im Apple Member Center angezeigt wird oder in den Xcode-Kontoeinstellungen.
Jhavatar
18

Das Folgende funktioniert für mich an einer Eingabeaufforderung

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

Mit einem Shell-Einzeiler ist es schwieriger herauszufinden, welche Signaturschlüssel von einem bestimmten Profil verwendet werden. Grundsätzlich müssen Sie Folgendes tun:

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

Fügen Sie dann jeden Block von base64-Daten nach dem Eintrag von DeveloperCertificates in eine eigene Datei aus und fügen Sie sie ein . Sie können dann verwenden:

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

jedes Zertifikat zu sichern. Die Zeile nach dem zweiten CommonName in der Ausgabe ist der Schlüsselname, z. B. "iPhone Developer: Joe Bloggs (ABCD1234X)".

user23614
quelle
14

Mit xCode 6 können Sie mit der rechten Maustaste auf das Bereitstellungsprofil unter Konto -> Detail (der Screenshot, den Sie dort haben) klicken und ein Popup "Im Finder anzeigen" anzeigen.

user2962499
quelle
9

Wenn es ausreicht, die folgenden Kriterien zum Auffinden des Profils zu verwenden:

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

Sie können das Verzeichnis mit awk scannen. Dieser Einzeiler findet die erste Datei, deren Name mit "iOS Team" beginnt.

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}' *

Hier ist ein Skript, das auch die erste Übereinstimmung zurückgibt, aber einfacher zu bearbeiten ist.

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

Es kann aus dem Profilverzeichnis $ HOME / Library / MobileDevice / Provisioning Profiles aufgerufen werden :

~/findprov "iOS Team"

Um das Skript zu verwenden, speichern Sie es an einem geeigneten Ort und denken Sie daran, den ausführbaren Modus festzulegen. zB chmod ugo + x

bvj
quelle
2
Tolles Zeug. cd "${HOME}/Library/MobileDevice/Provisioning Profiles/"Fügen Sie einfach vor dem Befehl awk hinzu, und Sie können ihn von jedem beliebigen Ort aus aufrufen.
Onekiloparsec
6

Mit dem "iPhone Configuration Utility" können Sie Bereitstellungsprofile verwalten.

ChenXin
quelle
"iPhone Configuration Utility" wird von "Apple Configurator" abgelöst
Mahal Tertin
Apple Configurator findet Provisioning-Profile jedoch nicht automatisch, wie dies beim iPhone Configuration Utility der Fall ist.
Raptor
6

Ich habe ein einfaches Bash-Skript geschrieben, um dieses dumme Problem zu umgehen. Übergeben Sie den Pfad zu einer benannten Kopie Ihrer Bereitstellung (heruntergeladen von developer.apple.com), um die passende GUID-umbenannte Datei in Ihrer Bereitstellungsbibliothek zu identifizieren:

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

Es ist nicht genau für Xcode5, aber diese Frage verknüpft Personen, die überprüfen möchten, wo sich Bereitstellungsprofile befinden:
Folgende Dokumentation finden Sie unter https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html

  1. Wählen Sie "Xcode"> "Einstellungen".
  2. Klicken Sie oben im Fenster auf Konten.
  3. Wählen Sie das Team aus, das Sie anzeigen möchten, und klicken Sie auf Details anzeigen. Geben Sie hier die Bildbeschreibung ein Zeigen Sie im angezeigten Dialogfeld Ihre Signaturidentitäten und Bereitstellungsprofile an. Wenn neben einem Zertifikat eine Schaltfläche zum Erstellen angezeigt wird, wurde es noch nicht erstellt. Wenn neben einem Bereitstellungsprofil eine Schaltfläche zum Herunterladen angezeigt wird, befindet sie sich nicht auf Ihrem Mac. Geben Sie hier die Bildbeschreibung ein

Zehn Sie können das Kontextmenü für jedes Profil starten und auf "Im Finder anzeigen" oder "In den Papierkorb verschieben" klicken.

pbaranski
quelle