Найти профиль подготовки в Xcode 5


104

В Xcode 5 я могу получить список профилей подготовки в разделе Xcode >> preferences >> accounts >> view details. Я хочу скопировать профиль и должен отправить его одному из моих клиентов, но я не могу щелкнуть его правой кнопкой мыши, чтобы найти его с помощью опции « Показать профиль в Finder ».

Как я могу получить определенный профиль подготовки в XCode 5 или мне нужно каждый раз загружать его с developer.apple?

введите описание изображения здесь


Используйте это решение для Xcode 5! stackoverflow.com/a/18504418/1463604
Nishant

Ответы:


223

Я нашел способ узнать, как называется ваш профиль обеспечения. Выберите нужный профиль в разделе «Знак кода» в настройках сборки, затем снова откройте окно выбора и нажмите «другое» внизу. Затем происходит представление с наименованием текущего выбранного профиля обеспечения.

Теперь вы можете найти файл профиля по пути:

~/Library/MobileDevice/Provisioning Profiles

Обновить:

Для терминала:

cd ~/Library/MobileDevice/Provisioning\ Profiles

9
Для терминала: cd ~/Library/MobileDevice/Provisioning\ Profiles
tsafrir

1
для поиска автоматически сгенерированных профилей используйте grep -l "iOSTeam Provisioning Profile: com.your.bundle.id." *
tsafrir

1
Можно ли изменить расположение профиля по умолчанию ..? Как указать xcode использовать профиль из другого места при сборке с помощью инструмента командной строки "xcodebuild" ..?
Sreedhar GS

For terminal: cd ~/Library/MobileDevice/Provisioning\ ProfilesДолжен быть выделен, спасибо @tsafrir
Ashok R

30

проверьте здесь:

~/Library/MobileDevice/Provisioning Profiles

8
файлы профиля обеспечения доступны для чтения в текстовом редакторе, поэтому вы можете просто открыть файлы в этом каталоге в текстовом редакторе, например, open -a TextEdit /Users/$(whoami)/Library/MobileDevice/Provisioning\ Profiles/4A733DA3-07E3-43A3-9AB2-2D25070153EB.mobileprovision и поискать « <key> Name </key> », чтобы найти имя профиля, которое отображается в Центре участников Apple. или в настройках учетной записи Xcode.
jhavatar

18

Следующее работает для меня в командной строке

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

Узнать, какие ключи подписи используются в конкретном профиле, сложнее с помощью однострочника оболочки. В основном вам нужно сделать:

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

затем скопируйте и вставьте каждый блок данных base64 после записи DeveloperCertificates в отдельный файл. Затем вы можете использовать:

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

сбросить каждый сертификат. Строка после второго commonName в выходных данных будет ключевым именем, например, «iPhone Developer: Joe Bloggs (ABCD1234X)».


14

xCode 6 позволяет вам щелкнуть правой кнопкой мыши профиль обеспечения в учетной записи -> подробно (снимок экрана, который у вас есть) и показывает всплывающее окно «Показать в поисковике».


9

Если для поиска профиля достаточно использовать следующие критерии:

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

вы можете просканировать каталог с помощью awk. Этот однострочный файл найдет первый файл, имя которого начинается с «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}' *

Вот сценарий, который также возвращает первое совпадение, но с ним легче работать.

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

Его можно вызвать из каталога профилей $ HOME / Library / MobileDevice / Provisioning Profiles :

~/findprov "iOS Team"

Чтобы использовать сценарий, сохраните его в подходящем месте и не забудьте установить исполняемый режим; например, chmod ugo + x


2
Отличный материал. Просто добавьте cd "${HOME}/Library/MobileDevice/Provisioning Profiles/"перед командой awk, и вы сможете вызывать ее откуда угодно.
onekiloparsec

6

Вы можете использовать «Утилиту настройки iPhone» для управления профилями подготовки.


«Утилита настройки iPhone» заменена «Конфигуратором Apple»
махал тертин

но Apple Configurator не определяет автоматически профили обеспечения, как это делает утилита настройки iPhone.
Raptor

6

Я написал простой скрипт на bash, чтобы обойти эту глупую проблему. Передайте путь к именованной копии вашего обеспечения (загруженной с developer.apple.com), и он определит соответствующий файл с переименованным GUID в вашей библиотеке ресурсов:

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

Это не совсем для Xcode5, но этот вопрос связывает людей, которые хотят проверить, где находятся профили обеспечения:
Следующая документация https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MainptingCertificates/MaintainCertificates.html

  1. Выберите Xcode> Настройки.
  2. Щелкните Учетные записи в верхней части окна.
  3. Выберите команду, которую хотите просмотреть, и нажмите «Просмотреть подробности». введите описание изображения здесь В появившемся диалоговом окне просмотрите свои удостоверения подписи и профили подготовки. Если рядом с сертификатом отображается кнопка «Создать», он еще не создан. Если рядом с профилем подготовки отображается кнопка «Загрузить», значит, ее нет на вашем Mac. введите описание изображения здесь

Десять вы можете запустить контекстное меню в каждом профиле и нажать «Показать в Finder» или «Переместить в корзину».

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.