program - desarrollador de ios
cómo llamar a package-productPackagingUtility en la línea de comandos (3)
Me gustaría firmar mi carpeta de aplicaciones al final de la compilación, no durante la compilación de Xcode.
Las versiones recientes de Xcode de Xcode se quejan si deshabilita la firma de código para una compilación de dispositivo.
La forma más fácil de evitar esto es dejar que Xcode lo firme y luego lo vuelva a firmar más tarde. Los pasos son aproximadamente
- Vuelque los derechos originales con
codesign -d --entitlements=MyApp.xcent MyApp.app
- Si está cambiando los perfiles de aprovisionamiento, copie el nuevo en
MyApp.app/embedded.mobileprovision
y modifique los derechos en consecuencia (IIRC el formato del archivo tiene una magia de 4 bytes y una longitud de 4 bytes; recuerde actualizar la longitud) . - Vuelva a firmar con su certificado deseado.
Cuando especifica un derecho y una identidad de firma de código en la configuración de compilación (Xcode 4.2.1), tiene la siguiente salida cuando compila desde Xcode:
ProcessProductPackaging "myAppName.entitlements" "/path/to/myAppName.xcent"
cd /path/to/myAppName/SourceCode
builtin-productPackagingUtility "/path/to/myAppName/SourceCode/myAppName.entitlements" -entitlements -format xml -o "/path/to/myAppName.xcent"
CodeSign "/path/to/Garfields Comic Boom 1.0.app"
cd /path/to/myAppName/SourceCode
setenv CODESIGN_ALLOCATE /Developer/usr/bin/codesign_allocate
/usr/bin/codesign --force --sign "myCertificate" --entitlements "/path/to/myAppName.xcent" "/path/to/myAppName.app"
Me gustaría firmar mi carpeta de aplicaciones al final de la compilación, y no durante la compilación de Xcode.
Mi problema es que no sé cómo generar el archivo xcent en la línea de comandos.
Pregunta: ¿Cómo se generan los archivos xcent en la línea de comandos? Hice un hallazgo desde la raíz, no hay nada llamado productPackagingUtility ...
El formato de las .entitlements y $ {APPNAME} .xcent es el mismo, por lo que solo se puede copiar.
El uso de la utilidad codesign no requiere un archivo xcent. Simplemente puede crear un archivo plist y usarlo para los derechos. Asegúrate de que sea un plist XML, no binario.