Encuentra el perfil de aprovisionamiento en Xcode 5


En Xcode 5, puedo obtener una lista de perfiles de aprovisionamiento en Xcode >> preferences >> accounts >> view details. Quiero copiar el perfil y tengo que enviarlo a uno de mis clientes, pero no puedo hacer clic derecho sobre él para encontrarlo usando la opción "Revelar perfil en Finder".

¿Cómo puedo obtener un perfil de aprovisionamiento específico en XCode 5 o tengo que descargarlo del desarrollador?apple cada vez?

introduzca la descripción de la imagen aquí

Author: Ankur, 2013-09-17

8 answers

He encontrado una manera de averiguar cómo se nombra su perfil de aprovisionamiento. Seleccione el perfil que desee en la sección de firma de código en la configuración de compilación, luego abra la vista de selección nuevamente y haga clic en "otro" en la parte inferior. A continuación, aparecerá una vista con el nombre del perfil de aprovisionamiento seleccionado actualmente.

Ahora puede encontrar el archivo de perfil en la ruta:

~/Library/MobileDevice/Provisioning Profiles

Actualización:

Para la Terminal:

cd ~/Library/MobileDevice/Provisioning\ Profiles
 220
Author: matzino,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-18 14:22:49

Marque aquí:

~/Library/MobileDevice/Provisioning Profiles
 31
Author: yasirmturk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-19 21:16:20

Lo siguiente funciona para mí en un símbolo del sistema

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

Averiguar qué claves de firma son utilizadas por un perfil en particular es más difícil de hacer con un shell one-liner. Básicamente tienes que hacer:

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

Luego corta y pega cada bloque de datos base64 después de la entrada DeveloperCertificates en su propio archivo. A continuación, puede utilizar:

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

Para volcar cada certificado. La línea después del segundo CommonName en la salida será el nombre de la clave, por ejemplo, "iPhone Developer: Joe Bloggs (ABCD1234X)"(en inglés).

 18
Author: user23614,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-01 15:09:23

XCode 6 le permite hacer clic derecho en el perfil de aprovisionamiento en cuenta -> detalle (la captura de pantalla que tiene allí) y muestra una ventana emergente "mostrar en finder".

 14
Author: user2962499,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-10 18:42:19

Si es suficiente utilizar los siguientes criterios para localizar el perfil:

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

Puede escanear el directorio usando awk. Esta línea única encontrará el primer archivo que contiene el nombre que comienza con "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}' *

Aquí hay un script que también devuelve la primera coincidencia, pero es más fácil trabajar con él.

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

Se puede llamar desde el directorio profiles, HOME HOME/Library/MobileDevice / Provisioning Profiles :

~/findprov "iOS Team"

Para usar el script, guarde en una ubicación adecuada y recuerde establecer el modo ejecutable; por ejemplo, chmod ugo + x

 8
Author: bvj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-19 10:07:05

Puede usar "iPhone Configuration Utility" para administrar los perfiles de aprovisionamiento.

 6
Author: ChenXin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-24 10:11:48

Escribí un simple script bash para solucionar este estúpido problema. Pase la ruta de acceso a una copia con nombre de su provisión (descargada desde developer.apple.com) e identificará el archivo con el nombre de GUID correspondiente en su biblioteca de provisiones:

#!/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
 6
Author: user1467074,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-09 17:28:15

No es exactamente para Xcode5, pero esta pregunta enlaza a las personas que desean verificar dónde están los perfiles de aprovisionamiento:
Siguiente documentación https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html

  1. Elija Xcode > Preferencias.
  2. Haga clic en Cuentas en la parte superior de la ventana.
  3. Seleccione el equipo que desea ver y haga clic en Ver detalles. introduzca la descripción de la imagen aquí En el diálogo que aparece, ver sus identidades de firma y perfiles de aprovisionamiento. Si aparece un botón Crear junto a un certificado, todavía no se ha creado. Si aparece un botón de descarga junto a un perfil de aprovisionamiento, no está en su Mac. introduzca la descripción de la imagen aquí

Diez puede iniciar el menú contextual en cada perfil y hacer clic en "Mostrar en Finder" o "Mover a la papelera".

 3
Author: pbaranski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-10 12:17:45