firma codice
Il manuale amichevole sulla firma del codice dice di firmare prima il sottocomponente, quindi riprova con la tua app stessa:
codesign dice che il mio codice non è firmato quando tento di firmarlo.
Assicurati che tutto il codice annidato sia già firmato e che la sua firma sia valida. Xcode si prenderà cura di questo per te se gli permetti di gestire le tue attività di firma del codice.
Continua dicendo che Xcode gestirà tutte le firme, il che potrebbe essere utile o meno, dal momento che stai già scegliendo di firmare le cose dalla riga di comando.
- profonda
Per firmare tutto il codice annidato in una volta, aggiungi l'argomento --deep
a codesign
:
codesign --deep -s "Developer ID Application: My Company" /Development/MyApp.app
script di shell
Un altro modo di fare lo stesso è creare uno script di shell che controlli lo stato della firma del codice annidato e firma se manca. In questo modo puoi avere più controllo su ciò che stai firmando all'interno del pacchetto.
Esempio:
Uno script di bash chiamato sign-unsigned.sh
che controlla una voce nel pacchetto e firma se non è già firmato potrebbe essere fatto in questo modo:
#!/bin/bash
if codesign --verify $1 ; then
exit;
else
codesign --sign "$2" $1;
fi
Inserisci sign-unsigned.sh
in /Development
e fallo nella riga di comando:
cd /Development/MyApp.app/
find . -exec ../sign-unsigned.sh {} "Developer ID Application: My Company" \;
codesign --sign "Developer ID Application: My Company" ../MyApp.app