Cómo volver a firmar archivos ipa
Es necesario realizar algunos preparativos antes de volver a firmar.
1. Primero, debe descargar e instalar Xcode, que tiene un programa codesign_allocate. Durante el proceso de instalación, también habrá un programa codesign en /usr/bin para firmar paquetes ipa.
2. El archivo de certificado, el archivo de clave privada y el archivo de perfil de aprovisionamiento del certificado empresarial. Tenga en cuenta que el certificado empresarial debe ser del tipo Distribución de iOS, no Desarrollo de iOS.
Pasos para volver a firmar
1. Descomprima ipa
Descomprima ipa para obtener Payload/[nombre de la aplicación].bundle y abra el paquete.
2. Eliminar la información de la firma ipa anterior
Eliminar la carpeta _CodeSignature en el paquete, es decir, eliminar la información de la firma del ipa anterior.
3. Reemplazar el certificado
Eliminar el perfil de aprovisionamiento antiguo en el paquete y reemplazarlo con el perfil de aprovisionamiento de nuestro propio certificado empresarial.
Tenga en cuenta que debemos cambiar el nombre del certificado empresarial a embeded.mobileprovision en el paquete ipa.
4. Modificar el paquete
En este punto, podemos modificar el paquete tanto como queramos, como agregar bibliotecas dinámicas, eliminar imágenes, etc.
Nota: si desea agregar una biblioteca dinámica al paquete, primero debe comprimirla en un archivo zip, luego descomprimirlo en el directorio Documentos y abrirlo cuando se inicie el programa; de lo contrario, el programa se atascará al cargar los archivos de la biblioteca dinámica.
5. Volver a firmar
Después de completar la modificación del contenido incluido, debe volver a firmar a través del programa /usr/bin/codesign.
/usr /bin/codesign -f -s "iPhone Distribution.YourCompanyName" --resource-rules Payload/ MYAPP.app/ResourceRules.plist Payload/ MYAPP.app
iPhone Las distribuciones se pueden recuperar desde Acceso a Llaveros. El lugar es el nombre del certificado de la empresa, como el siguiente "iPhone Distribution:XXXXXXXXXXXX":
Ejemplo de comando específico:
codesign -f -s " iPhone Developer:XXXXXXXXXX" --resource-rules Payload /NdCP_Game_Demo.app/ResourceRules.plist Payload/NdCP_Game_Demo.app
Este comando significa: usar el certificado identificado por "iPhone Developer: XXXXXXXXXXXXXX" y usarlo como "Desarrollador de iPhone: según Payload/NdCP_Game_Demo" archivo .app/ResourceRules.plist, si la firma ya existe en el paquete ipa, se reemplazará y el directorio _CodeSignature generado por este proceso se almacenará en Payload/NdCP_Game_Demo. directorio de la aplicación
Ejecute el comando. Después de eso, se generará un nuevo directorio _CodeSignature en el paquete, que contiene la nueva información de firma
6.
Después de completar el trabajo anterior, se puede generar una nueva ipa para la distribución.
El comando de muestra es el siguiente:
zip -r ResignTest.ipa Payload
# Tenga en cuenta que no puede haber "/" después de la carga útil
7. Después de modificar el paquete ipa Después de volver a firmar el contenido y su firma, el archivo ipa vuelto a firmar se puede instalar con éxito en dispositivos sin jailbreak y con jailbreak. Tenga en cuenta que este archivo se instala a través de sitios web y sistemas Apple con certificados SSL (un programa de distribución empresarial interno), no a través de herramientas de terceros como PP Assistant.