¿Se puede modificar el código de una ipa sin firmar?
Prepárate un poco antes de volver a firmar.
1. Primero, descargue e instale Xcode, que contiene un programa codesign_allocate. Durante la instalación, habrá un programa de diseño de código adicional en /usr/bin para firmar paquetes ipa.
2. Archivos de certificado, archivos de clave privada, archivos de configuración de suministro, etc. 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 la ipa
Descomprima la ipa para obtener la carga útil/[nombre de la aplicación]. Paquete, luego 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 ipa anterior.
3. Reemplazar el certificado
Eliminar el perfil antiguo del paquete y reemplazarlo con el perfil de nuestro propio certificado empresarial.
Tenga en cuenta que nuestro certificado empresarial en el paquete ipa debe cambiarse de nombre a embeded.mobileprovision.
4. Modificar el contenido del paquete
En este momento, podemos modificar el contenido del paquete como queramos, como agregar una biblioteca dinámica y eliminar una imagen.
Nota: Si desea agregar una biblioteca dinámica al paquete, primero debe comprimirla en un archivo zip, luego descomprimirla en el directorio Documentos cuando se inicie el programa y luego abrirla; de lo contrario, El archivo de biblioteca dinámica se atascará cuando se inicie el programa.
Volver a firmar
Después de modificar el contenido del paquete, debe volver a firmarlo a través del programa /usr/bin/codesign. El comando se ve así:
/usr/bin/code sign-f-s " iPhone Distribution:your company name "-resource-rules Payload/MYAPP.app/ResourceRules.plist Payload/myapp
Entre ellos, la distribución de iPhone se puede obtener mediante el acceso al llavero, que es el nombre del certificado empresarial, como el siguiente "distribución de iPhone: XXXXXXXXXX":
Ejemplos de comandos específicos: p>
codesign-f-s " iPhone Developer:xxxxxxxxxxxxx "-resource-rules Payload/NdCP _ Game _ aplicación de demostración/reglas de recursos. plist Payload/NdCP _ Game _ aplicación de demostración
Este comando. significa: Utilice el certificado identificado por "iPhone Developer:xxxxxxxxxxxxx" en el llavero y firme de acuerdo con las reglas en Payload/NdCP_Game_Demo.app/resource plist. Si la firma ya existe en el paquete ipa, será reemplazada. _El directorio CodeSignature generado por este proceso se almacenará en Payload/NdCP_Game_demo.app.
Después de ejecutar el comando, se generará un nuevo directorio _CodeSignature en el paquete, que contiene nueva información de firma.
Reempaquetar en ipa
Una vez completado el trabajo anterior, se puede generar y publicar una nueva ipa. El ejemplo del comando es el siguiente:
zip -r retest.ipa payload
#Tenga en cuenta que la carga útil no puede ir seguida de "/"
Release< /p >
Después de las pruebas de empaquetado y lanzamiento, se concluyó que después de modificar el contenido del paquete ipa y la firma en él, el archivo ipa vuelto a firmar se puede instalar con éxito en dispositivos sin jailbreak y en dispositivos con jailbreak.
Tenga en cuenta que se instala a través de sitios web con certificados SSL y sistemas Apple (programas de distribución internos), no a través de herramientas de terceros como PP Assistant.