Résolution de l'ambiguïté du certificat codesign avec plusieurs certificats de développeur
J'ai récemment fait un peu de travail pour une autre société, la construction d'une application iPhone pour eux. Comme je l'ai divisé le temps de développement entre leurs bureaux, à l'aide de leurs ordinateurs, et de mon bureau, j'ai généré une clé et qu'il avait signé dans le cadre de leur iPhone Dev Center "de l'équipe."
J'avais déjà un existant Dev compte du Centre et ma propre certificat de développeur. Après l'importation du certificat pour le projet client, la signature de cette application me donne un message d'avertissement de codesign qu'il trouve de multiples certificats correspondants "iPhone Développeur: Steve Madsen", mais il choisit la bonne et signes binaires.
Je vais maintenant revenir à l'un de mes anciens projets, en utilisant ma propre certificat de développeur. Codesign est de me dire qu'il ne peut pas résoudre l'ambiguïté entre mon certificat et l'utilisé pour mon client:
iPhone Développeur: Steve Madsen: ambigu (correspond à "l'iPhone Développeur: Steve Madsen (9E69FVL37K)" et "iPhone Développeur: Steve Madsen" dans /Volumes/Utilisateurs/steve/Bibliothèque/Keychains/login.trousseau)
Le certificat client est l'un avec de l' (9E69FVL37K), qui je présume est comment codesign est capable de comprendre les choses dans mon projet du client.
Comment puis-je configurer le projet Xcode pour utiliser l'identité correcte? Prélèvement spécifique (pas automatique sélecteur de profil) en vertu de la cible paramètres de construction n'aide pas.
Mieux encore, alors qu'Apple n'a prévu qu'un développeur peut être membre de plusieurs équipes, je n'ai trouvé aucune documentation sur la façon dont un développeur comme moi-même devez configurer mon environnement. La génération d'une deuxième clé/certificat semble la seule façon de faire ce travail, comme les profils de configuration doivent être associées à des certificats en vertu de l'une de l'équipe du Programme de Portail. Quelqu'un a de bons conseils sur la façon de rendre ce processus sans heurts?
source d'informationauteur Steve Madsen | 2009-11-10
Vous devez vous connecter pour publier un commentaire.
J'ai pris le plongeon de ce soir et a décidé de révoquer mon ancien certificat et d'en générer un nouveau. Ma conjecture est correcte: Apple est maintenant l'émission des certificats (hex-string) suffixe.
Xcode est assez intelligent pour faire la bonne chose. J'sélectionnez "iPhone Developer" (sélection automatique) dans les paramètres de la cible. Il détermine lequel de mes clés doivent être utilisés pour signer le binaire basé sur le profil de configuration, puis il dit à dessiner à utiliser exactement le même identité, y compris le (hex-string) suffixe.
Mon pari est que les nouveaux iPhone, les développeurs ne verrez pas ce problème, parce qu'ils ont produit leur premier certificat, après Apple a commencé à ajouter le suffixe.
Un rappel pour quiconque a pour ce faire: vous avez besoin pour résoudre tous vos profils de configuration, trop, et réinstallez-les.
J'ai travaillé sur 3 équipes à ce jour et ont été à l'aide de 3 iTunes comptes, un pour chaque (donc 3 séparer les adresses e-mail). Je sais que cela ne ressemble pas à la situation optimale, surtout si vous travaillez sur plus d'équipes que.
Cependant, je me demande si il peut y avoir un autre moyen. Parce que si vous pouvez associer votre compte iTunes (iPhone dev center utilisateur) avec plus d'une équipes de, puis ce qui se passe lorsque vous vous connectez sur le Dev center? Vous obtenez plusieurs options pour entrer dans les multiples "iPhone Developer Progrma Portails"?
Merci à Steve Madsen pour le pointage sortir.. Apple maintenant les problèmes de tous les certificats avec une (HEXSTRING) suffixe. Cela signifie que si vous avez un certificat de RUPERTO DE GUZMAN avant, vous aurez besoin de RÉVOQUER le présent PROGRAMME de PORTAIL -> CERTIFICATS. Puis créer un NOUVEAU certificat. Votre nouveau certificat sera désormais RUPERTO DE GUZMAN (EZxxxxxxxx).
Maintenant, codesign ne seraient pas confondre avec les préfixes de plus, parce que nous avons:
AVANT:
APRÈS: