Resolver ambigüidade certificado codesign com vários certificados de desenvolvedor

StackOverflow https://stackoverflow.com/questions/1710794

  •  19-09-2019
  •  | 
  •  

Pergunta

Recentemente, fiz alguns trabalhos para outra empresa, a construção de um aplicativo para iPhone para eles. Como eu dividir o tempo de desenvolvimento entre seus escritórios, usando seus computadores, e meu escritório, eu gerada uma chave e se tivesse assinado como parte do seu iPhone Dev Center "equipe".

Eu já tinha uma conta Dev Center existente e meu próprio certificado de desenvolvedor. Depois de importar o certificado para o projeto do cliente, assinando esse aplicativo me dá um aviso de codesign que ele encontra vários certificados correspondentes "iPhone Developer: Steve Madsen", mas ele escolhe um e sinais corretos do binário

.

Agora estou voltando para um dos meus projetos mais velhos, usando o meu próprio certificado de desenvolvedor. Codesign está me dizendo que ele não pode resolver a ambiguidade entre o meu certificado e aquele usado para o meu cliente:

iPhone Developer: Steve Madsen: ambíguos (partidas "iPhone Developer: Steve Madsen (9E69FVL37K)" e "iPhone Developer: Steve Madsen" em /Volumes/Users/steve/Library/Keychains/login.keychain)

O certificado de cliente é o único com (9E69FVL37K), que presumo é como codesign é capaz de descobrir as coisas no projeto do meu cliente.

Como posso configurar o projeto Xcode para usar a identidade correta? Escolher um específico (não o seletor de perfil automático) sob as configurações de compilação de destino não ajuda.

Melhor ainda, enquanto a Apple antecipou que um desenvolvedor poderia ser um membro de várias equipes, eu não encontrei nenhuma documentação sobre como um desenvolvedor como eu deve configurar meu ambiente. Gerando uma segunda chave / certificado parecia a única maneira de fazer este trabalho, como perfis de aprovisionamento deve ser associado com certificados sob Portal Programa de uma equipe. Alguém tem bons conselhos sobre como fazer este processo funcionar sem problemas?

Foi útil?

Solução

Eu tomei a mergulhar esta noite e decidiu revogar o meu antigo certificado e gerar um novo. Meu palpite estava correto: a Apple está agora a emissão de todos os certificados com um sufixo (hex-string)

.

Xcode é inteligente o suficiente para fazer a coisa certa. Eu selecione "iPhone Developer" (seleção automática) nas configurações de destino. Ele determina qual das minhas chaves deve ser usado para assinar o binário com base no perfil de provisionamento, então, diz CodeSign usar exatamente essa identidade, incluindo o sufixo (hex-string).

A minha aposta é que novos desenvolvedores do iPhone nunca vai ver este problema, porque gerou o seu primeiro certificado depois que a Apple começou a adicionar o sufixo.

Um lembrete para qualquer outra pessoa que tenha a ver com isto:. Você precisa corrigir todos os seus perfis de aprovisionamento existente, também, e reinstalar os

Outras dicas

Eu tenho trabalhado em 3 equipes até agora e têm vindo a utilizar 3 contas iTunes separados, um para cada (assim 3 endereços de e-mail separados). Eu sei que isso não soa como a situação ideal, especialmente se você está trabalhando em mais equipas do que isso.

No entanto, eu estou querendo saber se pode haver uma outra maneira. Porque se você pode associar sua conta iTunes (dev usuário centro iPhone) com mais de uma equipe, então o que acontece quando você entrar no Centro de Desenvolvimento? Você ganha várias opções para entrar no múltiplo "iPhone Developer Progrma Portals"?

Graças a Steve Madsen para apontar isso .. Apple agora emite todos os certificados com um sufixo (hexstring). Isto significa que se você tem um certificado para RUPERTO De Guzman antes, você terá de revogar esta de PROGRAMA PORTAL -> CERTIFICADOS. Em seguida, crie um novo certificado. O novo certificado será agora RUPERTO De Guzman (EZxxxxxxxx).

Agora, codesign seria não ser confundido com os prefixos mais porque temos:

Antes de:

RUPERTO De Guzman

RUPERTO De Guzman (89xxxxxxx)

DEPOIS:

RUPERTO De Guzman (EZxxxxxxx)

RUPERTO De Guzman (89xxxxxxx)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top