J'essaie d'exécuter un xcodebuild automatisé sur Jenkins, mais je rencontre l'erreur
L'interaction de l'utilisateur n'est pas autorisée. La commande/usr/bin/codesign a échoué avec le code de sortie 1
J'ai déjà référencé "L'interaction utilisateur n'est pas autorisée" en essayant de signer une application OSX en utilisant codesign et d'autres threads similaires, mais aucune des solutions ne semble corriger correctement l'erreur.
Voici ce que j'ai déjà essayé:
J'ai autorisé tous les articles à accéder au trousseau, et j'ai spécifiquement ajouté le code à la liste "toujours autoriser" (comme ici https://stackoverflow.com/a/22637896 )
J'ai défini le trousseau pour qu'il ne se verrouille pas automatiquement avec un délai d'expiration, à la fois via les paramètres d'accès au trousseau et via la commande
security set-keychain-settings -t 3600 -l <KEYCHAIN>
J'ai essayé d'appeler
codesign --sign <CODE SIGN IDENTITY> --force ...
avant la compilation du projet (plus précisément, cette solution https://stackoverflow.com/a/20208104 ), et bien que cela crée avec succès le projet, je ne pense pas que la signature de code avant la compilation soit correcte ou fiable . (modifier: cela a également échoué lors de l'exécution à partir de jenkins)
Voici les commandes que j'exécute:
security unlock-keychain -p <PASSWORD> <KEYCHAIN>
xcodebuild -scheme <SCHEME> -workspace <WORKSPACE> -derivedDataPath <BUILD DIRECTORY> -configuration <CONFIGURATION> "CONFIGURATION_BUILD_DIR=<BUILD DIRECTORY>" "CODE_SIGN_IDENTITY=<CODE SIGN ID>" "PROVISIONING_PROFILE=<PROVISIONING PROFILE>" clean build
Quelque chose d'intéressant à noter est que la construction du projet sur la machine fonctionne avec les commandes ci-dessus, mais essayer d'exécuter exactement les mêmes commandes sur ssh (et jenkins) provoque l'erreur.
Merci d'avance pour votre aide !
La construction automatisée (Jenkins avec SSH distant), qui utilise productign, a bien fonctionné jusqu'à ce que nous ayons mis à niveau la boîte de construction de Yosemite vers Sierra.
productsign [4065: 51711] Erreur de configuration de la signature RSA: l'interaction de l'utilisateur n'est pas autorisée. (-25308)
Nous avons essayé différentes solutions trouvées sur SO, mais aucune n'a fonctionné.
Finalement, je l'ai corrigé en faisant ce qui suit:
Veuillez noter que notre certificat "Developer ID Installer: ACME, Inc (12345ABCDE)" se trouve dans le trousseau système.