ios xcodebuild provisioning-profile

ios - Proporcionar xcodebuild con archivo.mobileprovision



provisioning-profile (2)

Si utiliza suspiro desde Fastlane, puede asignar su salida a una variable provision_id=sigh

esto también funciona si el suspiro tiene parámetros: sigh(...)

Este es el único script que me funcionó:

`var = $ (grep UUID -A1 -a | grep -io" [-A-Z0-9] {36} ") ''

utilizar con: "$var.mobileprovision"

Estoy configurando Jenkins para automatizar las versiones de iOS. ¿Existe alguna posibilidad de proporcionar un archivo .mobileprovision que no se agregue a la herramienta de aprovisionamiento en Xcode a xcodebuild?

Sé que puedo usar PROVISIONING_PROFILE y PROVISIONING_PROFILE [sdk = iphoneos *] pero requieren que el perfil de aprovisionamiento se agregue al Organizador.

Sé que puedo hacer la operación con xcrun. Pero antes de ejecutar xcrun debo firmar correctamente la aplicación con xcodebuild.

¿Hay alguna manera de que pueda proporcionar el archivo de perfil de aprovisionamiento (.mobileprovision) a xcodebuild?


Tenemos una solución para esto: básicamente, lo que debe hacer es ''instalar'' el archivo .mobileprovision copiándolo en un directorio nombrado después del UUID del archivo de provisión móvil. Esto es lo que realmente hace el Organizador de Xcode cuando haces doble clic en un archivo .mobileprovision.

Hay un pequeño programa llamado mpParse que puede extraer el UUID del archivo mobileprovision que usa el script: enlace para descargar en el código. Entonces es muy simple copiar el archivo de mobileprovision en el lugar correcto.

Aquí hay un script de shell que hice para hacer esto:

#!/bin/sh # 2012 - Ben Clayton (benvium). Calvium Ltd # Found at https://gist.github.com/2568707 # # This script installs a .mobileprovision file without using Xcode. Unlike Xcode, it''ll # work over SSH. # # Requires Mac OS X (I''m using 10.7 and Xcode 4.3.2) # # IMPORTANT NOTE: You need to download and install the mpParse executable from http://idevblog.info/mobileprovision-files-structure-and-reading # and place it in the same folder as this script for this to work. # # Usage installMobileProvisionFile.sh path/to/foobar.mobileprovision if [ ! $# == 1 ]; then echo "Usage: $0 (path/to/mobileprovision)" exit fi mp=$1 uuid=`/usr/libexec/PlistBuddy -c ''Print UUID'' /dev/stdin <<< $(security cms -D -i ${mp})` echo "Found UUID $uuid" output="~/Library/MobileDevice/Provisioning Profiles/$uuid.mobileprovision" echo "copying to $output.." cp "${mp}" "$output" echo "done"

Puede descargar el script directamente desde https://gist.github.com/2568707

Una vez que haya ejecutado el script, puede usar PROVISIONING_PROFILE y PROVISIONING_PROFILE [sdk = iphoneos *] en xcodebuild para crear su aplicación. Usamos esto en producción.

Edit: Solo como referencia, hice esta pregunta esencialmente hace un rato ( ¿Se puede ''instalar'' un archivo .mobileprovision de Xcode desde la línea de comandos? ) Y surgió lo anterior cuando nadie parecía saberlo :-)

Actualización: Como alternativa a mpParse, se podrían usar las herramientas de Apple: /usr/libexec/PlistBuddy -c ''Print UUID'' /dev/stdin <<< $(security cms -D -i path_to_mobileprovision)