Найти профиль подготовки в 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.