Encontre o perfil de provisionamento no Xcode 5

104

No Xcode 5, posso obter uma lista de perfis de provisionamento em Xcode >> preferences >> accounts >> view details. Quero copiar o perfil e tenho que enviá-lo para um dos meus clientes, mas não consigo clicar com o botão direito do mouse para encontrá-lo usando a opção " Revelar perfil no Finder ".

Como posso obter um perfil de provisionamento específico no XCode 5 ou tenho que baixá-lo de developer.apple todas as vezes?

insira a descrição da imagem aqui

Ankur
fonte
Use esta solução para o Xcode 5! stackoverflow.com/a/18504418/1463604
Nishant
Possível duplicata do item de menu Perfis
Simon East

Respostas:

223

Encontrei uma maneira de descobrir como seu perfil de provisionamento é nomeado. Selecione o perfil que deseja na seção de sinal de código nas configurações de construção, abra a visualização de seleção novamente e clique em "outro" na parte inferior. Em seguida, ocorre uma visualização com a nomenclatura do perfil de aprovisionamento selecionado atualmente.

Agora você pode encontrar o arquivo de perfil no caminho:

~/Library/MobileDevice/Provisioning Profiles

Atualizar:

Para Terminal:

cd ~/Library/MobileDevice/Provisioning\ Profiles
matzino
fonte
9
Para terminal: cd ~/Library/MobileDevice/Provisioning\ Profiles
tsafrir
1
para encontrar perfis gerados automaticamente, use grep -l "iOSTeam Provisioning Profile: com.your.bundle.id." *
tsafrir
1
É possível alterar a localização padrão do perfil ..? Como dizer ao xcode para usar o perfil de outro local quando construímos usando a ferramenta de linha de comando "xcodebuild" ..?
Sreedhar GS
For terminal: cd ~/Library/MobileDevice/Provisioning\ Profilesdeve ser destacado, obrigado @tsafrir
Ashok R
30

Verifique aqui:

~/Library/MobileDevice/Provisioning Profiles
Yasirmturk
fonte
8
os arquivos de perfil de provisionamento podem ser lidos em um editor de texto, então você pode simplesmente abrir os arquivos neste diretório em um editor de texto, por exemplo, open -a TextEdit /Users/$(whoami)/Library/MobileDevice/Provisioning\ Profiles/4A733DA3-07E3-43A3-9AB2-2D25070153EB.mobileprovision e procurar por " <key> Nome </key> " para encontrar o nome do perfil conforme aparece no Apple Member Center ou nas preferências de conta do Xcode.
jhavatar
18

O seguinte funciona para mim em um prompt de comando

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

Descobrir quais chaves de assinatura são usadas por um perfil específico é mais difícil de fazer com uma linha única do shell. Basicamente, você precisa fazer:

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

em seguida, recorte e cole cada bloco de dados base64 após a entrada do DeveloperCertificates em seu próprio arquivo. Você pode então usar:

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

para descartar cada certificado. A linha após o segundo commonName na saída será o nome da chave, por exemplo, "iPhone Developer: Joe Bloggs (ABCD1234X)".

user23614
fonte
14

O xCode 6 permite que você clique com o botão direito no perfil de provisionamento em conta -> detalhes (a captura de tela que você tem lá) e mostra um pop-up "mostrar no localizador".

user2962499
fonte
9

Se for suficiente usar os seguintes critérios para localizar o perfil:

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

você pode escanear o diretório usando awk. Este one-liner encontrará o primeiro arquivo que contém o nome começando com "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}' *

Aqui está um script que também retorna a primeira correspondência, mas é mais fácil de trabalhar.

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

Ele pode ser chamado de dentro do diretório de perfis, $ HOME / Library / MobileDevice / Provisioning Profiles :

~/findprov "iOS Team"

Para usar o script, salve-o em um local adequado e lembre-se de definir o modo executável; por exemplo, chmod ugo + x

bvj
fonte
2
Coisas boas. Basta adicionar cd "${HOME}/Library/MobileDevice/Provisioning Profiles/"antes do comando awk e você pode chamá-lo de qualquer lugar que desejar.
onekiloparsec de
6

Você pode usar o "Utilitário de configuração do iPhone" para gerenciar perfis de provisionamento.

ChenXin
fonte
"Utilitário de configuração do iPhone" foi substituído por "Apple Configurator"
mahal tertin
mas o Apple Configurator não localiza perfis de provisionamento automaticamente, como o iPhone Configuration Utility faz.
Raptor
6

Eu escrevi um script bash simples para contornar esse problema estúpido. Passe o caminho para uma cópia nomeada de sua provisão (baixada de developer.apple.com) e ele identificará o arquivo renomeado GUID correspondente em sua biblioteca de provisão:

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

Não é exatamente para o Xcode5, mas esta questão vincula as pessoas que desejam verificar onde estão os perfis de provisionamento:
Documentação seguinte https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html

  1. Escolha Xcode> Preferências.
  2. Clique em Contas na parte superior da janela.
  3. Selecione a equipe que deseja visualizar e clique em Visualizar detalhes. insira a descrição da imagem aqui Na caixa de diálogo que aparece, visualize suas identidades de assinatura e perfis de provisionamento. Se um botão Criar aparecer próximo a um certificado, ele ainda não foi criado. Se um botão de download aparecer próximo a um perfil de provisionamento, ele não está no seu Mac. insira a descrição da imagem aqui

Dez você pode iniciar o menu de contexto em cada perfil e clicar em "Mostrar no Finder" ou "Mover para o lixo".

Pbaranski
fonte