O Mac OS X deseja usar as chaves do sistema ao compilar o projeto


92

Sou solicitado a digitar o nome de usuário e a senha do administrador do sistema ao compilar meu projeto Xcode. Toda a mensagem é

O Mac OS X deseja fazer alterações. Digite o nome e a senha de um administrador para permitir isso. O Mac OS X deseja usar as chaves do sistema.

Alguém tem uma solução para isso?

Respostas:


242
  1. Abra o Acesso às Chaves.
  2. No canto superior esquerdo, desbloqueie o chaveiro (se estiver bloqueado).
  3. Escolha o chaveiro do sistema no canto superior esquerdo.
  4. Encontre seu certificado de distribuição e clique no triângulo de divulgação.
  5. Clique duas vezes em 'Chave privada' no seu certificado de distribuição.
  6. No pop-up, vá para a guia Controle de acesso.
  7. Selecione 'Permitir que todos os aplicativos acessem este item'.
  8. Salve as alterações.
  9. Feche todas as janelas.
  10. Execute o aplicativo.

3
Não estou encontrando nenhuma lista suspensa de certificado de distribuição. onde encontrar isso?
Ananth Srinivasan,

4
@AnanthSrinivasan, PVCS significa apenas a lista de contas listadas na janela principal. Clique duas vezes na conta que força você a inserir o nome de administrador e a senha.
crazyDiamond

Essa também é a única boa maneira de garantir que ele funcione em um servidor de compilação automatizado sem interromper para obter credenciais.
Ben Butzer

4
Você merece um grande biscoito por essa resposta.
Miiite de

1
Descobri que, no El Capitan, você precisa clicar duas vezes nas chaves privadas que correspondem ao formato yourhostname.domain.identity e, em seguida, executar as etapas 6 a 8.
Jason D

22

O problema é com o Certificado de Desenvolvedor no Keychain que está em "Sistema", no painel esquerdo, que está sempre bloqueado e exigindo minha senha para desbloquear!

Portanto, basta mover o Certificado de Desenvolvedor para "login", que está sempre desbloqueado. Agora seu problema foi resolvido.


1
Isso me ajudou, exceto que eu não conseguia mover o chaveiro para 'login'. No entanto, remover o certificado das chaves do sistema é o que acho que resolve esse problema.
goelakash

Isso só é adequado para construir a partir da GUI do Xcode, quando você está construindo a partir da CLI (como no ambiente de CI), a chave e o certificado precisam estar no keychain do sistema.
RAM237

Ótimo! trabalhou para mim. Meu certificado estava em "Sistema", movi-o para "Login".
lal

Nada funcionou para mim, exceto este. Observe que não consegui movê-lo, tive que excluir e apenas arrastar o certificado manualmente para "Login"
Lirik

7
  1. Abra o Acesso às Chaves

  2. Clique em Sistema no painel esquerdo

  3. Desbloqueie o chaveiro do sistema superior esquerdo (se estiver bloqueado)

  4. Classifique os itens do sistema por tipo para que as chaves fiquem no topo

  5. Procure a chave privada que fica pedindo a senha

  6. Clique duas vezes nele e selecione Controle de acesso

  7. Escolha "Permitir que todos os aplicativos acessem este item"

  8. Salve as alterações, bloqueie as chaves do sistema e feche o aplicativo das chaves

  9. Reinicie o aplicativo que continua pedindo para modificar suas chaves


Como prática recomendada, na etapa 7, permita apenas os aplicativos específicos aos quais você está tentando conceder acesso. Porque segurança.
Mike Rapadas

1
Como isso difere da resposta fornecida anos antes ?
grg

1
Quando respondi, a resposta tinha 2 anos e não funcionou para mim, então anotei as etapas que tomei para fazê-la funcionar, daí os 5 votos positivos. Não venha aqui e atualize a resposta dele, então me pergunte por que a minha é diferente .. Se fosse a mesma, tenho certeza que todos teriam votado negativamente como você ..
emotalidade

1
Não consigo salvar as alterações na etapa 8. Entro na senha de administrador (pergunta duas vezes), no entanto, quando reabrir a chave, as alterações não foram salvas! Porque isto é assim?
Danijel de

5

Eu estava tendo esse problema porque tinha certificados duplicados em meu login e chaveiros do sistema. Ao abrir o Acesso às Chaves e excluir todos os certificados do Sistema que também estavam no login, o problema foi resolvido. Espero que isto ajude.


Isso só é adequado para construir a partir da GUI do Xcode, quando você está construindo a partir da CLI (como no ambiente CI), a chave e o certificado devem estar no keychain do sistema. Em um Mac eu tenho a mesma situação: duplicar o login e as chaves do sistema e tudo funciona bem, mas não em outro por algum motivo ...
RAM237

3

Eu descobri que esse problema era de perfis de provisionamento. Excluí todos os perfis de provisionamento anteriores e reinstalei o que precisava.


2

No meu caso, fui para Acesso às Chaves, selecionei "sistema" em "Chaves" (canto superior esquerdo). Então, para cada item: clique com o botão direito, "Obter informações", "Controle de acesso" e adicione o Xcode na lista "Sempre permitir acesso por estes aplicativos:".


2

Mova sua chave privada do sistema para fazer login no acesso por chaveiro. Em seguida, mova seu certificado de desenvolvedor para o login. Isso funcionou para mim.


1

Segui uma solução semelhante à que o @krafter fez, mas, em vez de dar acesso a tudo no keychain do sistema, só precisei adicionar o xcode ao perfil de provisionamento em keychain -> sistema -> "seu perfil de provisionamento" -> obter informações -> Controle de acesso, em seguida, apenas adicionado xcode. Isso é o que funcionou para 4.6


0

Sim - execute o XCode apenas com privilégios de administrador. Ele precisa de direitos de administrador para realizar um monte de tarefas, instalações, sessões de depuração e assim por diante.


como posso alterar as prefs xcode para que ele seja executado com previliges admin?
Singh de

Quer dizer, execute-o de um usuário definido como administrador.
Stavash de

0

Tem certeza de que diz "Mac OS X" não é algo relacionado a ferramentas de desenvolvedor?

É normal que as Ferramentas de Desenvolvedor desejem habilitar o Modo Desenvolvedor em seu Mac, portanto, você não precisa inserir uma senha de administrador toda vez que começar a depurar seu aplicativo no simulador, na primeira vez após cada inicialização do Xcode.

Mas se você não habilitou o modo de desenvolvedor, quando era oferecido pelo Xcode, esteja preparado, o Xcode pedirá uma senha de administrador sempre que você iniciar a depuração no simulador após cada inicialização do Xcode.


sim diz MAC OS X e quando compilo a compilação para o simulador não me mostra esta mensagem e quando executo qualquer projeto no dispositivo mostra-me a mensagem
Singh

Eu descobri que esse problema era de perfis de provisionamento. Excluí todos os perfis de provisionamento anteriores e, em seguida, reinstalei um que precisava para resolver o problema
Singh

Ya concorda com @developersaremad. Eu tenho a solução ... Obrigado
kb920

0

Você precisa adicionar seu nome de usuário OSx ao _developergrupo. Funcionou para mim.

sudo dscl . append /Groups/_developer GroupMembership <username>

0

Parece que o Xcode não atualiza a seleção da equipe, então selecioná-la novamente na guia geral dos alvos resolveu.


0

As configurações de controle de acesso não parecem mais ser salvas para as chaves privadas armazenadas nas chaves do sistema, portanto, tentar adicionar o Xcode à lista de permissões não funcionou para mim.

Para manter as alterações de controle de acesso, tive que copiar a chave privada + certificado para o keychain Login. Isso evitou que o Xcode me incomodasse ao assinar arquivos de código para distribuição.

Observe que o Xcode interromperá a distribuição se as configurações de confiança do certificado forem alteradas (por exemplo, Sempre permitir a assinatura de código); você deve mantê-los definidos como padrão do sistema.

Espero que haja uma solução melhor do que essa, porque isso não parece certo. Mas funciona por agora.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.