Znajdź profil informacyjny w Xcode 5

104

W Xcode 5 mogę uzyskać listę profili obsługi administracyjnej pod Xcode >> preferences >> accounts >> view details. Chcę skopiować profil i muszę wysłać go do jednego z moich klientów, ale nie mogę kliknąć go prawym przyciskiem myszy, aby go znaleźć za pomocą opcji „Pokaż profil w Finderze ”.

Jak mogę uzyskać określony profil informacyjny w XCode 5, czy za każdym razem muszę go pobierać z developer.apple?

wprowadź opis obrazu tutaj

Ankur
źródło
Użyj tego rozwiązania dla Xcode 5! stackoverflow.com/a/18504418/1463604
Nishant

Odpowiedzi:

223

Znalazłem sposób, aby dowiedzieć się, jak nazywa się Twój profil obsługi administracyjnej. Wybierz żądany profil w sekcji podpisu kodowego w ustawieniach kompilacji, a następnie otwórz ponownie widok wyboru i kliknij opcję „inne” u dołu. Następnie pojawia się widok z nazwą aktualnie wybranego profilu informacyjnego.

Możesz teraz znaleźć plik profilu na ścieżce:

~/Library/MobileDevice/Provisioning Profiles

Aktualizacja:

W przypadku terminala:

cd ~/Library/MobileDevice/Provisioning\ Profiles
matzino
źródło
9
Dla terminala: cd ~/Library/MobileDevice/Provisioning\ Profiles
tsafrir
1
aby znaleźć użycie automatycznie wygenerowanych profili grep -l "iOSTeam Provisioning Profile: com.your.bundle.id." *
tsafrir
1
Czy można zmienić domyślną lokalizację profilu ..? Jak powiedzieć xcode, aby używał profilu z innej lokalizacji, gdy budujemy za pomocą narzędzia wiersza poleceń „xcodebuild” ..?
Sreedhar GS
For terminal: cd ~/Library/MobileDevice/Provisioning\ Profilesnależy podkreślić dzięki @tsafrir
Ashok R
30

Sprawdź tutaj:

~/Library/MobileDevice/Provisioning Profiles
yasirmturk
źródło
8
pliki profilu informacyjnego można odczytać w edytorze tekstu, więc możesz po prostu otworzyć pliki w tym katalogu w edytorze tekstu, np. open -a TextEdit /Users/$(whoami)/Library/MobileDevice/Provisioning\ Profiles/4A733DA3-07E3-43A3-9AB2-2D25070153EB.mobileprovision i wyszukać „ <key> Name </key> ”, aby znaleźć nazwę profilu wyświetlaną w Apple Member Center lub w preferencjach konta Xcode.
jhavatar
18

Poniższe działa dla mnie w wierszu polecenia

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

Dowiedzenie się, które klucze podpisywania są używane przez określony profil, jest trudniejsze w przypadku powłoki jednowarstwowej. Zasadniczo musisz zrobić:

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

następnie wytnij i wklej każdy blok danych base64 po wpisie DeveloperCertificates do własnego pliku. Możesz wtedy użyć:

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

zrzucić każdy certyfikat. Wiersz po drugim commonName w danych wyjściowych będzie nazwą klucza, np. „IPhone Developer: Joe Bloggs (ABCD1234X)”.

user23614
źródło
14

xCode 6 pozwala na kliknięcie prawym przyciskiem myszy profilu aprowizacji w koncie -> szczegóły (zrzut ekranu, który tam masz) i wyświetla wyskakujące okienko „pokaż w wyszukiwarce”.

user2962499
źródło
9

Jeśli do zlokalizowania profilu wystarczy użyć następujących kryteriów:

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

możesz przeskanować katalog używając awk. Ta pojedyncza linijka znajdzie pierwszy plik, który zawiera nazwę zaczynającą się od „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}' *

Oto skrypt, który zwraca również pierwsze dopasowanie, ale jest łatwiejszy w obsłudze.

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

Można go wywołać z katalogu profili $ HOME / Library / MobileDevice / Provisioning Profiles :

~/findprov "iOS Team"

Aby skorzystać ze skryptu, zapisz go w odpowiednim miejscu i pamiętaj o ustawieniu trybu wykonywalnego; np. chmod ugo + x

bvj
źródło
2
Świetne rzeczy. Po prostu dodaj cd "${HOME}/Library/MobileDevice/Provisioning Profiles/"przed poleceniem awk i możesz je wywołać z dowolnego miejsca.
onekiloparsec
6

Do zarządzania profilami udostępniania można użyć narzędzia „iPhone Configuration Utility”.

ChenXin
źródło
„iPhone Configuration Utility” zostaje zastąpione przez „Apple Configurator”
mahal tertin
ale Apple Configurator nie lokalizuje automatycznie profili obsługi administracyjnej, tak jak robi to iPhone Configuration Utility.
Raptor
6

Napisałem prosty skrypt basha, aby obejść ten głupi problem. Przekaż ścieżkę do nazwanej kopii usługi (pobranej ze strony developer.apple.com), aby zidentyfikować pasujący plik o zmienionej nazwie GUID w Twojej bibliotece zasobów:

#!/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
źródło
3

To nie jest dokładnie dla Xcode5, ale to pytanie łączy osoby, które chcą sprawdzić, gdzie są profile obsługi administracyjnej:
Poniższa dokumentacja https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html

  1. Wybierz Xcode> Preferencje.
  2. Kliknij Konta u góry okna.
  3. Wybierz zespół, który chcesz wyświetlić, i kliknij Wyświetl szczegóły. wprowadź opis obrazu tutaj W wyświetlonym oknie dialogowym przejrzyj swoje tożsamości podpisujące i profile obsługi administracyjnej. Jeśli obok certyfikatu pojawia się przycisk Utwórz, nie został on jeszcze utworzony. Jeśli obok profilu informacyjnego pojawi się przycisk Pobierz, oznacza to, że nie ma go na Twoim Macu. wprowadź opis obrazu tutaj

Dziesięć możesz uruchomić menu kontekstowe w każdym profilu i kliknąć „Pokaż w Finderze” lub „Przenieś do kosza”.

pbaranski
źródło