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?

Singh
fonte

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.
PVCS
fonte
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.

bater xá
fonte
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

emotalidade
fonte
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.

Jeff Ames
fonte
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.

Singh
fonte
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:".

krafter
fonte
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.

Rosa do Deserto
fonte
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

SuperDave
fonte
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.

Stavash
fonte
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.

Aleksejs Mjaliks
fonte
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>
Saroj
fonte
0

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

Moran77
fonte
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.

Nathan Hosselton
fonte