2011-04-17 3 views
4

J'ai un problème de codesign très ennuyeux: j'ai 2 machines Mac (M1, M2) et 2 certificats de développeur (C1, C2). Bien que porte-clés sont similaires sur M1 et M2, j'ai les résultats suivants avec codesign:codesign échoué avec CSSM_SignData retourné: 8001094A

  • codesign (M1, C1) ok
  • codesign (M1, C2) nok
  • codesign (M2, C1) nok
  • codesign (M2, C2) ok

Alors, quand je construis mon projet avec succès sur M1 avec C1, je ne peux pas transférer le dépôt de M2 ​​et de construire à nouveau avec C1, je dois changer de C2 pour réussir. En cas d'erreur, codesign renvoie le message d'erreur 'CSSM_SignData retourné: 8001094A' suivi de 'erreur inconnue -2070 = fffff7ea'.

+0

Avez-vous déjà résolu cela? Je vois exactement le même code d'erreur. La réponse ci-dessous concernant la signature à partir d'une seule machine est totalement fausse. Cela fonctionne normalement, mais il est juste maintenant commencé à lancer cette erreur. – rennarda

Répondre

1

Pour signer votre application sur une machine, le certificat doit avoir été demandé à partir de cette machine uniquement. Donc vous ne pouvez pas construire avec C1 sur M2 et vice versa.

Malheureusement, cette information va dans project.pbxproj, qui est critique et doit être maintenue par le contrôle de version. Je ne pense pas qu'il y ait moyen d'éviter de mettre ce type d'informations spécifiques à la machine dans le contrôle de version.

Il existe cependant une option de "Sélecteur automatique de profil" lorsque vous choisissez le certificat à signer. Je ne l'ai pas encore testé sur des machines séparées, mais il semble qu'il choisira automatiquement le bon certificat pour la bonne machine. Mais si ce n'est pas le cas, vous devrez sélectionner manuellement le certi à chaque fois. De la manière dont mon équipe le fait, nous avons différents macs pour les développeurs et nous faisons tous nos trucs de signature d'un mac particulier.

+0

Cela semble raisonnable et "Automatic Profile Selector" semble fonctionner. Merci beaucoup! –

0

Vous pouvez exporter les certificats du trousseau au format .p12 et les installer sur un autre système. Si vous installez le fichier .cer sur une machine différente, cela ne fonctionnera pas! essayez de les exporter et d'installer sur un autre système.

Questions connexes