J'essaie d'ajouter un nouveau profil d'approvisionnement à mon Xcode, pour tester une application sur l'appareil. Voici les étapes que j'ai suivies:
Suppression de tous les certificats et profils d'approvisionnement
Créer / ajouter un certificat de développement IOS
Ajouter mon appareil IOS en ligne
Créer un profil d'approvisionnement IOS
Ajouter un profil d'approvisionnement IOS
Nettoyer l'application
Construire puis exécuter l'application
Définir la signature de code et le profil d'approvisionnement dans les paramètres de construction
Beaucoup de googlages> sans succès
Voici l'erreur que j'obtiens:
CSSM_SignData returned: 800108E6
/Users/alexpelletier/Library/Developer/Xcode/DerivedData/MyExpense-efnqzvoqwngzcmazaotyalepiice/Build/Products/Debug-iphoneos/MyExpense.app: errSecInternalComponent
Command /usr/bin/codesign failed with exit code 1
ios
xcode
certificate
provisioning-profile
Alex Pelletier
la source
la source
Réponses:
Ouvrez Keychain Access , puis dans le menu File , sélectionnez Lock All Keychains .
Revenez ensuite à Xcode et nettoyez et reconstruisez. Il vous demandera à nouveau votre mot de passe pour déverrouiller le trousseau.
Après cela, en supposant que vous n'ayez aucun autre problème de compilation, cela réussira!
la source
Cela semble être un bogue dans le mécanisme de signature de code, le redémarrage de votre mac devrait résoudre le problème
la source
Cela se produit lorsque le trousseau de connexion est verrouillé. Pour déverrouiller le trousseau de connexion, exécutez:
Si votre trousseau est protégé par mot de passe, spécifiez le mot de passe à l'aide de l'
-p
option.Ensuite, essayez à nouveau l'opération de génération ou de signature de code. Le code d'erreur en question est décrit dans la documentation d'Apple comme une erreur interne, il est donc tout à fait possible que cela se produise également dans d'autres cas.
la source
codesign
échouait et c'est la commande magique qui m'a sauvé !!!Eu le même problème sur
High Sierra
/Xcode 9.4.1
, toutes les tentatives de connexion se sont terminées parerrSecInternalComponent
Alternativement:
exécuter la commande codesign sur le terminal mac et "Toujours autoriser" / usr / bin / codesign l'accès à la clé
Si vous essayez de vous connecter à partir de ssh / CI, vous devez également exécuter
avant d'essayer de signer le bundle d'applications
la source
security unlock-keychain -p <password> login.keychain
de CI.~/.bash_profile
pour que le trousseau se déverrouille au démarrage du client SSH, mais vous n'avez pas besoin d'y faire référence à partir de votre script CIJ'ai rencontré le même problème, je redémarre mon macOS, et ça marche.
En Chine, nous avons un dicton entre développeurs:
Parfois, le dicton ci-dessus vous aidera grandement!
la source
Au cas où cela aiderait quelqu'un d'autre, j'ai rencontré une
errSecInternalComponent
erreur aveccodesign
parce que je l'exécutais sur une session ssh sur ma machine macOS. L'exécution de la même commande à partir d'une fenêtre de terminal sur la machine macOS elle-même fonctionnait.C'est probablement parce qu'il a
codesign
besoin d'accéder à la clé privée à partir du trousseau de connexion.L'exécution
security unlock-keychain login.keychain
(comme expliqué par la réponse de cbracken ) à partir de la même session devrait également fonctionner.la source
Si vous essayez de vous connecter à partir de la commande ssh run:
avant d'essayer de signer le bundle d'applications
ou depuis l'interface utilisateur
Mettez à jour le contrôle d'accès par clé sur "Autoriser toutes les applications à accéder à cet élément"
Merci à @Equilibrium et @Jon McClung
la source
J'ai eu le même problème J'ai découvert que le problème était lié à la signature du code de l'application.
la source
J'ai couru
security unlock-keychain login.keychain
et mon mot de passe de connexion n'a pas fonctionné. J'ai donc redémarré, puis j'ai à nouveau exécuté Xcode et cela a fonctionné. L'exécution de la commande fonctionne également. Problème étrange.la source
Comme indiqué par @Equilibrium dans l'un des commentaires, si vous êtes en ligne de commande env. comme Jenkins (mon cas), vous devrez peut-être passer le mot de passe à la commande security-unlock mentionnée dans les solutions.
Donc au lieu d'utiliser,
utilisation:
où le trousseau de chemin d'accès peut être $ HOME / Library / Keychains / login.keychain (mon cas) ou simplement login.keychain
la source
pour tous ceux qui ont rencontré ce problème de jenkins et ssh:
possibilité élevée que vous n'ayez pas autorisé l'accès à la clé privée dans le trousseau, j'ai essayé mais je ne sais pas pourquoi tout cela ne fonctionne pas:
finalement résolu par:
1.ssh [utilisateur] @ [jenkinsServerIP] -L 5900: localhost: 5900, connectez-vous au serveur jenkins
2. ouvrez «vnc: // localhost»
cela lancera un écran distant, si votre serveur jenkins le permet ...
puis ouvrez keychain.app pour accorder l'accès de / usr / bin / codesign à la clé privée
bonne chance
la source
Essayez-le simplement une fois en utilisant le terminal mac mais pas depuis la session ssh
Et choisissez toujours autoriser dans la boîte de dialogue qui s'affiche. Et puis vous pouvez xcodebuild dans la session à distance.
la source
Un clic droit sur la clé privée associée au certificat de signature de code dans le trousseau, puis en cliquant sur `` autoriser toutes les applications '' au lieu de compter sur une invite l'a corrigé pour moi, car la construction se faisait via ssh.
la source
J'ai dû:
1) supprimer le certificat associé au projet
2) Revenez au Xcode et révoquez le certificat d'application
3) Le Xcode nécessite un nouveau certificat
4) Verrouiller tous les KeyChain
5) Nettoyez le projet
6) Reconstruire
C'est tout. J'espère que cela aide n'importe qui.
la source
Les méthodes ci-dessus me sont inutiles.
Je l'ai résolu par:
C'est tout. J'espère que cela aide n'importe qui.
la source