firma del código
El manual amigable sobre la firma de código dice que hay que firmar primero el subcomponente, y luego volver a intentarlo con la propia aplicación:
codesign dice que mi código no está firmado cuando intento firmarlo.
Asegúrese de que todo el código anidado ya está firmado y su firma es válida. Xcode se encargará de esto por ti si dejas que se encargue de las tareas de firma de código.
Continúa diciendo que deje que Xcode se encargue de toda la firma, lo que puede o no ser útil ya que usted ya está eligiendo firmar cosas desde la línea de comandos.
--deep
Para firmar todo el código anidado de una sola vez, añada la etiqueta --deep
argumento para codesign
:
codesign --deep -s "Developer ID Application: My Company" /Development/MyApp.app
shell script
Otra forma de hacer lo mismo es crear un shell script que compruebe el estado de la firma del código anidado, y firme si falta. De esta manera se puede tener más control sobre lo que se está firmando dentro del bundle.
Ejemplo:
Un bash-script llamado sign-unsigned.sh
que comprueba una entrada del paquete y la firma si no está ya firmada podría hacerse así:
#!/bin/bash
if codesign --verify $1 ; then
exit;
else
codesign --sign "$2" $1;
fi
Ponga el sign-unsigned.sh
en /Development
y hacer esto en la línea de comandos:
cd /Development/MyApp.app/
find . -exec ../sign-unsigned.sh {} "Developer ID Application: My Company" \;
codesign --sign "Developer ID Application: My Company" ../MyApp.app
0 votos
¿Intentas hacer un sandbox de la aplicación o simplemente firmarla para que sea aceptada por Gatekeeper y se distribuya fuera de la tienda de aplicaciones?
0 votos
Esto último. Pondré los paquetes en un .dmg para su distribución en línea.