Red de conocimiento informático - Material del sitio web - Cómo utilizar un script de shell para crear un archivo y exportar un archivo IPA firmado

Cómo utilizar un script de shell para crear un archivo y exportar un archivo IPA firmado

1. Instrucciones de compilación del script

Este script de Shell se utiliza para crear el proyecto de código fuente del espacio de trabajo XCode y exportarlo a un archivo IPA que se puede volver a firmar, que se utiliza para distribuir archivos de instalación de prueba y enviar archivos de revisión de la tienda de aplicaciones. Implementar desarrollo de productos auxiliares, gestión de configuración de pruebas, etc.

Para utilizar este script necesitas el siguiente entorno

- Mac OS 10.9+

- XCode 6.0 o superior y herramientas de línea de comandos

- Adecuado para proyectos WorkSpace, como aquellos que usan bibliotecas de dependencia Cocoapods

- Certificados y adaptadores de desarrollo configurados. *Configurar certificados de desarrollo y certificados ad ho (para depuración) y (para lanzamiento)

- Configurar el nombre del esquema y construir en el proyecto fuente

- Configurar los ajustes para depurar y liberar el nombre del certificado

- Confirma que puedes compilar completamente el proyecto desde la interfaz de usuario de Xcode y el entorno genera una nueva versión del proyecto

- Confirma que puedes compilar completamente el proyecto desde la interfaz de usuario de Xcode , desde el entorno Cree y genere archivos e IPA en , y fírmelos correctamente.

-Cree la carpeta de compilación en la carpeta del espacio de trabajo

2. Copie el archivo de script al directorio del espacio de trabajo

3. Abra la herramienta terminal y vaya al Espacio de trabajo. directorio

4. Otorgar permiso de ejecución al script

chmod 777 ./build_one_target.sh

5. el código fuente Coméntalo

Parámetros que deben modificarse

Nombre del espacio de trabajo

provisioningProfile

nombre del esquema

build_config

Bloque de código

La sintaxis del bloque de código sigue el código de marcado estándar

#! /bin/bash

# configuración de compilación inicial

# rutas de salida de archivo y ipa

build_path="./build"

# Nombre del espacio de trabajo

build_workspace="workspacename.xcworkspace"

#Nombre y ruta del proyecto

project_path=$(pwd)

project_name = $(ls | grep xcodeproj | awk -F.xcodeproj '{print $1}')

# nombre del archivo de configuración de aprovisionamiento

provisioningProfile='"XC Ad Hoc: com.xxxxxx . yyyyyyy"'

# La marca de tiempo del nombre del archivo de salida

timeStamp="$(date + "%Y%m%d_%H%M%S")"

echo "$project_path/$build_workspace"

if [ ! -d "$project_path/$build_workspace" ]; luego

echo "¡Error! La ruta actual no es un espacio de trabajo de xcode. Verifique o no use la opción -w".

abandonar.

"

salida 2

fi

# Obtener info.plist

app_infoplist_path=${project_path}/${project_name}/$ {project_name}-AppStore-Info.c " print CFBundleVersion" "${app_infoplist_path}")

# Obtener revisión de svn

svn_revision=$(svn info |grep Revisión:| awk '{print $2}')

#`svnversion -c |sed 's/^.*://' |sed 's/[A-Z]*$//'`

#svn info |grep Revisión:|awk '{print $2}'

#workspace_name='*.xcworkspace'

#ls $project_path/$ build_workspace &>/dev/null

#rtnValue=$?

#if [ ! $rtnValue = 0 ];entonces

# #build_workspace=$( echo $(basename $project_path/$workspace_name))

# echo "¡Error! La ruta actual no es un xcode. Verifique o no use la opción -w".

# exit 2

#fi

# nombre del esquema

build_scheme="nombre del esquema"

# build_scheme="nombre del esquema"

# configuración de buidl. El valor predeterminado es Depurar|Release

build_config="Release"

# clean build

clean_cmd='xcodebuild'

clean_cmd=${ clean_cmd}' clean -workspace '${build_workspace}' -scheme '${build_scheme}' -configuration '${build_config}

$clean_cmd > $build_path/clean_qa.txt || salir

# compilar y archivar, generar archivo comprimido

archive_name="targetname_QA_${timeStamp}.xcarchive"

archive_path=" ./build/"$nombre_archivo

build_cmd='xcodebuild'

build_cmd=${build_cmd}' -workspace '${build_workspace}' -scheme '${build_ Scheme}' -esquema genérico de destino}' -destination generic/platform=archivo iOS -.config '${build_config}' SOLAMENTE_ACTIVE_ARCH=NO -archivePath '$

{archive_path}

echo "** Archivado de control de calidad ** en ${archive_path}"

echo ${build_cmd}

$build_cmd >./build/build_archive_qa. log || salir

if [ ! -d "${archive_path}" ]; entonces

echo "** ¡Error! ARCHIVO QA FALLÓ ** Por favor verifique ./build/build_archive_qa .log."

salida 2

else

echo "** ARCHIVO QA EXITOSO ** al ${archive_path}"

fi

# Usar el servidor de control de calidad para exportar a ipa

ipa_name="targetname_QA_adhoc_v${bundleShortVersion}_b${bundleVersion}_rev${svn_revision}_t${timeStamp}.ipa"

ipa_path="./build/"$ipa_name"

ipa_cmd='xcodebuild'

ipa_cmd=${ipa_cmd}' -exportArchive -exportFormat ipa - ruta_archivo '${archive_path}' - ruta_exportación '${ipa_path}' - ruta_exportación '${ipa_path}' - ruta_exportación '${ipa_path}' - ruta_exportación '${ipa_path}} - ruta_exportación '${ipa_path}} - ruta_exportación ' $ {ipa_path}}exportProvisioningProfile '${provisioningProfile}

echo "** Exportando control de calidad ** al ${ipa_path}"

echo ${ ipa_cmd}

eval ${ipa_cmd} > ./build/export_ipa_qa.log || salir

if [ ! -f "${ipa_path}" ]; * ¡Error! Error de control de calidad de IPA de exportación** Por favor, consulte ./build/export_ipa_qa.log."

exit 2

else

echo "** Control de calidad de exportación de IPA EXITOSO * * al ${ipa_path}"

fi

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525 354 55565758596061626364656667686970717273747576778798081828384858687888990919293949596979899100

6. / p>

Los proyectos grandes tardarán aproximadamente entre 3 y 5 minutos en completarse.

Cuando haya terminado, verá los siguientes dos archivos principales en el directorio de compilación en el directorio del espacio de trabajo.

targetname_QA_20150420_094731.xcarchive

targetname_QA_adhoc_v2.1.1_b44_rev7849_t20150420_094731.ipa

El archivo xcarchive es muy importante y se puede utilizar para archivos ipa firmados por diferentes certificados

El archivo ipa se exporta utilizando el certificado ad hoc para la distribución de prueba de máquina real. El nombre del certificado se configura en el código fuente. Realice las modificaciones correspondientes según los ID de paquete de los diferentes productos. Los nombres y certificados aquí son solo para referencia de demostración y no tienen ningún significado comercial.