O perfil de provisionamento não inclui os direitos de identificador de aplicativo e grupos de acesso a chaves

189

Eu tentei todas as outras perguntas e pesquisei tudo sobre isso que eu já podia, muitas outras perguntas envolviam aplicativos existentes que estavam sendo atualizados ou pessoas com contas de desenvolvedor, mas esta é a minha segunda vez usando o Xcode e já funcionou antes .

Isso aconteceu do nada. Eu continuo recebendo esses dois erros e ele permite executar simuladores, mas não criar no meu iPhone:

  1. A assinatura automática não pode resolver um problema com os direitos do destino "LearningSpriteKit". A assinatura automática não pode adicionar os direitos de identificador de aplicativo e grupos de acesso a chaves ao seu perfil de provisionamento. Alterne para assinatura manual e resolva o problema baixando um perfil de provisionamento correspondente no site do desenvolvedor. Como alternativa, para continuar usando a assinatura automática, remova essas autorizações do arquivo de autorizações e a funcionalidade associada ao código.

  2. O perfil de provisionamento "Perfil de provisionamento da equipe do iOS: #####. LearningSpriteKit" não inclui os direitos de identificador de aplicativo e grupos de acesso a chaves.

Jack A
fonte
9
Também experimentando isso. Pode ser uma coisa global, pedindo outros desenvolvedores para confirmar em ios-developers.slack.com
yeralin
8
O mesmo aqui! Não consigo rodar em um iphone. somente emulador
Renan Aguiar
6
O mesmo aqui. Não é uma conta de desenvolvedor paga.
Tieda Wei 13/03/19
6
Sim, também estou enfrentando o mesmo problema. Eu acho que também um problema com a conta gratuita
Piyush
9
Mesmo problema, conta paga
byemute 13/03/19

Respostas:

62

Esse problema está relacionado ao Bug 1534145. SSL.com: certificados P-384 curve / ecdsa-with-SHA256 .

Um representante da Apple estimou que 558.000 certificados foram invalidados: Bug 1533655. DigiCert: Apple: Números de série não compatíveis

GoDaddy, Google, Apple e Facebook (isso explicaria por que o Facebook estava com problemas hoje) são afetados.

Eles estão trabalhando para resolver o problema agora.

Isso explicaria nossos problemas, pessoal!

Atualização: o problema foi resolvido. Tente atualizar seus projetos.

yeralin
fonte
3
Fico feliz em ouvir a Apple está lidando com isso / se pronunciou sobre o assunto
Jake
4
Certificados inválidos não explicam por que os novos que a Apple está emitindo estão sem os direitos necessários.
David Gish
3
@DavidGish pelo que posso coletar no relatório, eles não estão emitindo nenhum certificado no momento. Em 2019-03-7, eles interromperam a emissão de certificados TLS, sem saber se ou como isso se aplica.
Bilfred 14/03/19
2
Existem atualizações para isso? Eu sinto que isso deve ter a maior prioridade. Alguma idéia nova para soluções alternativas?
Linus
9
No momento, não estou recebendo esse erro, mas estou recebendo "o iPhone negou a solicitação de inicialização" .. alguma idéia?
22719 bezoadam
23

Solução alternativa: altere o Identificador de pacote e / ou versão .

yycking
fonte
5
Trabalha aqui. Caso contrário, tente desativar "Gerenciar assinatura automaticamente", exclua o perfil de fornecimento incorreto, altere o Identificador de pacote, ative a assinatura automática e adicione sua equipe.
Perseguição Patterson
Não funciona. Ele não fornece erros ou avisos, mas o aplicativo se recusa a iniciar no dispositivo, como descrito aqui stackoverflow.com/questions/45421179/…
Fedorov7890 14/03/19
O que escrever para o Identificador de Pacote e Versão, por favor? Sou desenvolvedor independente que trabalha no meu próprio escritório. Eu escrevi duas strings e um número respectivamente para eles e os erros de sinal desapareceram, mas acho que não consigo executar meu aplicativo usando o kit iOS (no Qt Creator)!
Franky
@ Fedorov7890 Para iniciar o aplicativo no dispositivo, é necessário desativar a caixa de seleção executável de depuração no esquema, conforme explicado neste comentário. O iPhone negou a solicitação de inicialização . Essa solução funciona para mim depois de remover minha conta de desenvolvedor, limpar ~/Library/MobileDevice/Provisioning Profilese alterar o identificador de pacote.
David
@david Obrigado, eu já encontrei uma solução alternativa sem desabilitar o executável de depuração, stackoverflow.com/a/55160300/3824328
Fedorov7890 #
22

Eu restaurei um perfil do Time Machine quando ele estava funcionando e, após o lançamento, o Xcode exclui imediatamente e o substitui por um novo. A principal diferença parece ser que o perfil antigo tem os get-task-allowdireitos, enquanto o novo não possui direitos. Definitivamente, isso está quebrado no final da Apple.

Editar: os direitos também devem incluir um grupo de acesso de chaveiro, mas, novamente, nenhum direito. Deve parecer com:

Bons direitos

David Gish
fonte
19

EDITAR

De acordo com a atualização mais recente, a Apple resolveu o problema Automaticamente Code Sign with Free Account .

Eu tentei e posso confirmar que está resolvido.

Por favor, tente no seu final.

Atualizar

Testado com o XCode 10.2 mais recente e está funcionando bem + eles melhoraram o desempenho geral do recurso Xcode & codesign.

Também estou enfrentando o mesmo problema ao criar um novo perfil a partir do Xcode e, se for para outros projetos e checar por lá, também enfrentarei o mesmo problema abaixo.

Digite a descrição da imagem aqui

Devido a esse problema, nenhum dos meus projetos pode ser construído com o perfil e o certificado antigos.

O problema estranho foi verificar o perfil recém-criado e compará-lo com o antigo, e descobri que o ID do aplicativo é desconhecido e não havia detalhes sobre os direitos no perfil recém-criado.

Verifique as capturas de tela abaixo da comparação de perfil antigo e novo:

Perfil antigo:

Digite a descrição da imagem aqui

Novo perfil:

Digite a descrição da imagem aqui

Portanto, significa que não é possível definir o ID do aplicativo e os direitos no novo perfil. Portanto, o resultado final não funciona em todos os perfis antigos e gera o mesmo erro em todos os projetos.

Solução alternativa do problema:

Etapa 1: Vá para a pasta Perfil de provisionamento (caminho: ~ Biblioteca ▸ MobileDevice ▸ Perfis de provisionamento).

Ou use um atalho para pular diretamente para esta pasta, como CMD+ Shift+, Ge digite ~/Library/MobileDevice/Provisioning Profiles-o redirecionará o localizador diretamente para a pasta Perfis de provisionamento.

Etapa 2: classifique os arquivos dentro dessa pasta por Data de modificação.

Etapa 3: verifique o perfil com o ID de aplicativo desconhecido e exclua todos os perfis desconhecidos.

Etapa 4: volte ao Xcode e verifique se todos os projetos antigos funcionarão conforme o esperado.

Nota: Certifique-se de que nenhum de seu projeto seja aberto enquanto faz as alterações acima. Caso contrário, ele criará um novo perfil com o ID de aplicativo desconhecido.

Espero que isso ajude e a Apple resolva esse bug em breve!

CodeChanger
fonte
1
Onde está esse caminho da biblioteca, por favor?
Franky
1
@Franky ~ / Library / MobileDevice / Provisioning Profiles. Embora essa correção não funcione para mim (e para outras pessoas, como visto em outras respostas). Sua milhagem pode variar.
Bilfred
1
@Bilfred Meu macOS X é o Sierra 10.13.6 e não existe esse caminho na ~ Library!
Franky
Obrigado, observe que existe apenas um arquivo ..mobileprovision nessa pasta e esse arquivo contém três seções: PERFIL DE PROVISÃO DE EQUIPE PARA iOS , CERTIFICADOS e DISPOSITIVOS DE PROVISÃO . No PERFIL DE PROVISÃO DE EQUIPE DO iOS, há uma linha com o ID desconhecido do aplicativo: como nesta imagem . Agora devo excluir o arquivo?
Franky
1
sim, exclua esse arquivo e mais uma coisa tente novamente.
CodeChanger 14/03/19
18

Parece que a Apple quebrou o sistema de assinatura automática. Eu estava brincando com alguns projetos e o Xcode apenas busca o perfil incorreto.

Isso funcionou para mim:

  1. Desativar "Gerenciar assinatura automaticamente" no destino do projeto
  2. Vamos para ~/Library⁩/⁨MobileDevice⁩/⁨Provisioning Profiles⁩
  3. Remover perfis baixados anteriormente
  4. Ative "Gerenciar assinatura automaticamente" novamente
Oleh Zayats
fonte
12
Para mim isso não funciona. Também acho que você quer dizer ~ / Library / MobileDevice / Provisioning Profiles
Fedorov7890
1
@ Fedorov7890 Sim, corrigido. Que mensagem você vê?
Oleh Zayats
1
Observação: parece que funciona para projetos criados ontem e antes, mas não para o projeto de hoje
#
Para mim, deu certo. Eu estava construindo 'Integration App' para Appium. Obrigado pela solução, Oleh Zayats.
Ahamed Abdul Rahman
Isso aqui resolveu o problema que eu estava tendo por cerca de 5 horas>. <
Eray T
15

ATUALIZAÇÃO: Esta solução ainda funciona como em 2019 / Mar / 20 7:00 UTC + 0

SOLUÇÃO: não é necessária a reinstalação do Xcode. Usei um novo AppleId gratuito, mas depois verifiquei com meu antigo AppleID e ele também funciona.

  1. No Xcode, na guia Geral , desmarque a opção Gerenciar assinatura automaticamente
  2. Feche o Xcode.
  3. Apague perfis antigos em ~/Library/MobileDevice/Provisioning Profiles:

    cd ~/Library/MobileDevice/Provisioning\ Profiles
    
    rm -rf *
  4. No MacOS, execute o LaunchpadOutrosAcesso ao Keychain e remova todos os certificados relacionados ao desenvolvimento do iPhone, como os quatro seguintes na imagem:

    • Autoridade de Certificação mundial de relações com desenvolvedores da Apple
    • Autoridade de certificação de ID do desenvolvedor
    • Desenvolvedor do iPhone: your_name_or_email

      Remover certificados

  5. Desinstale o aplicativo antigo no iPhone. Reinicie o iPhone e o Mac

  6. Abra o Xcode e altere o Identificador de pacote do seu aplicativo, pelo menos um caractere (depois você poderá reverter essa alteração)
  7. Habilite a Automatically manage signingopção no Xcode.

Após isso, você poderá executar e depurar seu aplicativo no seu dispositivo.

Se você tiver um problema "O iPhone negou a solicitação de inicialização", a solução está em uma resposta à pergunta Stack Overflow iOS 12 iPad Denied Launch Request - Xcode .

Em resumo, você precisa no Xcode para ir ao menu ProdutoEsquemaEditar esquema ... e selecionar Executável: perguntar ao iniciar .

Fedorov7890
fonte
para almoço negado se eu remover a opção depurador, não consigo depurar enquanto estiver usando o dispositivo. único simulador
Renan Aguiar
@RenanAguiar, você não precisa remover a opção depurador, basta alterar 'Executável' na lista suspensa para "perguntar ao iniciar". Veja o link no meu post que mostra como fazer isso nas fotos.
Fedorov7890
quando faço isso, acontece a mesma coisa. Eu não consigo ver os ícones do depurador como etapa e localização. somente no simulador
Renan Aguiar
Parece que o depurador não está totalmente funcional. Posso obter a saída do console do dispositivo, mas os pontos de interrupção não funcionam; nem passar por cima / passo em comandos
Fedorov7890
Posso confirmar que a resposta acima funcionou para mim. Especificamente, o aplicativo é construído, chamuscado e baixado para o meu iPhone. Estou usando a conta de desenvolvedor gratuito. (14 de março de 2019)
FractalSpace
15

Esse problema foi resolvido, mas algumas pessoas ainda têm um problema. Se você é um deles, tente o seguinte:

1. Na guia Geral de configurações de destino - desmarque a gerenciar automaticamente a assinatura opção

2. Feche o Xcode (totalmente, não apenas o seu projeto)

3. Apague .mobileprovisionarquivos em~/Library/MobileDevice/Provisioning Profiles/

4. No Acesso às Chaves, exclua o seguinte:

  • Desenvolvedor de iPhone: [email protected]
  • Autoridade de certificação de ID do desenvolvedor
  • Autoridade de certificação Apple Worldwide Developer Relations 3.

5. Exclua o aplicativo nos seus dispositivos iOS

6. Reinicie seus dispositivos Mac e iOS

7. Abra o Xcode novamente

8. Altere o identificador de pacote (mesmo que seja um caractere único, você o alteraria novamente para o original depois de começar)

9. Marque a Automatically manage signingopção

10. Use USB para conectar seu iPhone / iPad.

11. Certifique-se de confiar no seu certificado nos seus dispositivos iOS

Isso deve funcionar para você.

Dani
fonte
Thx muito, esta foi a primeira coisa que funcionou para mim
ShadowLightz
Ele resolveu o problema 'O iPhone negou a solicitação de inicialização' para você?
Fedorov7890
@ Fedorov7890 ele fez por mim e eu assumir por ShadowLightz
Dani
11

Parece que esse problema foi resolvido agora e as contas pessoais podem renunciar aos aplicativos automaticamente novamente.

Em relação à resposta do @Paul, não está relacionado à desinstalação do Xcode. É corrigido do lado do servidor.

A única coisa necessária é remover o Apple Developer Certificate (para a conta pessoal) do seu chaveiro, para que o Xcode tente novamente para gerar e baixar um novo.

Husein Behboodi Rad
fonte
Ainda não é possível instalar no dispositivo. Mesmo com o novo ID da Apple grátis e certificado
Fedorov7890
Você removeu todos os certificados?
Husein Behboodi Rad 14/03/19
Sim, eu fiz, além disso, eu purgado ~ / Library / MobileDevice / Provisioning \ Profiles e ~ / Library / Developer / Xcode / DerivedData e reiniciado iPhone
Fedorov7890
Finalmente ele trabalha com esta solução alternativa stackoverflow.com/a/54990369/3824328
Fedorov7890
Onde remover certificados? Que caminho?
Franky
10

Aqui está a solução:

  1. Deixe o Xcode estar aberto.

  2. Selecione sua conta de desenvolvedor e deixe o erro aparecer novamente.

  3. Acesse o aplicativo de chaveiro

4.a) Ir para a seção de certificado

4.b) Remover todos os certificados (válidos e inválidos) (tenho três válidos e muitos inválidos!)

Remover certificados

  1. Depois de remover o último certificado, o macOS recriará automaticamente um novo certificado para a conta de desenvolvedor ativa.

  2. Execute seu aplicativo no seu iDevice. Você precisa digitar a senha do sistema para adicionar um certificado recém-criado ao Keychain.

Se na segunda execução diz

Seu iPhone negou a solicitação de inicialização

Basta ir para:

ProdutoEsquema → * editar esquema: desmarque "Debug executable"

Espero que resolva o seu problema.

Alirezak
fonte
4
não! eu não posso depurar ou localização uso no dispositivo
Renan Aguiar
Oi obrigado Como ir para "chaveiro App", por favor? Que caminho?
Franky
Você provavelmente já encontrou até agora, mas o aplicativo Keychain Access está em Aplicações-> Utilities
David Gish
Eu ainda não consigo depuração usando o iphone com essas respostas
Renan Aguiar
9

Eu consegui fazê-lo executando as seguintes etapas:

  1. Vá para o Xcode
  2. Preferências
  3. Contas
  4. Gerenciar certificados
  5. Sinal de mais
  6. Desenvolvimento iOS
  7. Feito
  8. Download do manual Profiles
  9. Perto
  10. Vá para o seu alvo
  11. Alterar equipe de desenvolvimento para nenhuma
  12. Mude a equipe de desenvolvimento para a sua equipe anterior

Deveria funcionar.

J. Doe
fonte
7

Finalmente, posso implantar em nossos dispositivos iOS novamente. Aqui estão as etapas que eu tomei para fazê-lo funcionar.

Primeiro, segui todas as 10 etapas da resposta de Zameer aqui . Eu os copiei abaixo:

  1. Abra seu projeto no XCode.
  2. Selecione seu projeto no navegador do projeto e, em seguida, selecione seu destino na coluna.
  3. Clique na guia Geral e, na seção Assinatura , verifique se "Gerenciar assinatura automaticamente" está ativado.
  4. Clique no Capacidades guia e vire Em tanto o "App Grupos" e "Keychain de compartilhamento" configurações. Isso pode gerar um erro pop-up "Falha na assinatura automática" , basta clicar em cancelar para que ele desapareça.
  5. Isso deve gerar um arquivo de direitos para você chamado nameProject.entitlements na pasta do projeto do navegador do projeto.
  6. Mova esse arquivo de direitos para fora da pasta, logo abaixo do arquivo do projeto.
  7. Selecione seu alvo novamente e retorne à guia Recursos para desativar as configurações " Grupos de aplicativos" e "Compartilhamento de chaves" . Isso pode gerar novamente um erro pop-up "Falha na assinatura automática" , basta clicar em cancelar para que ele desapareça.
  8. Agora selecione seu projeto acima do destino e vá para a guia Configurações do edifício .
  9. Role para baixo até a configuração Identidade de assinatura de código , abaixo do cabeçalho Assinatura, e selecione Desenvolvedor iOS em cada lista suspensa.
  10. Sob o cabeçalho de assinatura acima , clique duas vezes no campo de texto ao lado de Autorizações de assinatura de código e insira o nome do seu arquivo de autorizações, nomeProject.entitlements .

Depois de concluir essas 10 etapas, as duas mensagens de erro de direito vermelho no XCode desapareceram e eu pude criar e implantar o aplicativo de teste do XCode no iPhone e executá-lo.

Embora esse app teste XCode poderia construir e implantar, desenvolvo em um PC usando Xamarin e eu era incapaz de implantar o meu aplicativo Xamarin.iOS aos meus dispositivos iOS e continuei recebendo um erro no Visual Studio: the executable was signed with invalid entitlements. Fiz o seguinte e agora posso implantar meu aplicativo Xamarin e executá-lo em meus dispositivos iOS:

  1. Excluí o perfil de provisionamento do Mac no ~/Library/MobileDevice/Provisioning Profilesdiretório. O XCode imediatamente gerou um novo perfil provisório (não tenho certeza se essa etapa foi necessária, mas estou escrevendo apenas porque foi o que fiz).
  2. Mudei meu Xamarin.iOS.csprojarquivo e o removi Entitlements.plistdo CodesignEntitlementselemento, para que agora pareça <CodesignEntitlements></CodesignEntitlements>. O Visual Studio adicionou automaticamente dois elementos ao mesmo grupo de propriedades no projeto que provavelmente não são necessários, mas pensei em mencionar: <CodesignExtraArgs />e <CodesignResourceRules />.
Aaron T
fonte
7

Talvez a postagem do fórum [iOS 12 SDK] - prazo final de março de 2019 - Modo legado possa ajudar.

Ele fala sobre a Apple se recusar a criar aplicativos iOS no SDK 12 a partir de março de 2019 (OP de dezembro de 2018).

Ainda não tentei isso, mas pode estar relacionado ao problema. Eu tenho uma conta de desenvolvedor gratuita e também estou enfrentando esse bug.

Aqui está uma captura de tela, caso o link seja alterado (captura de tela 1 abaixo).

Este é o link da primeira captura de tela (captura de tela 2 abaixo)

1sdk_12_issue

2iphone_xs_max_support_image

Jake
fonte
1
Interessante, mas temos XCode 10,1 mostrando este problema e 10.1 suporta SDK 12.
Ali Beadle
Ok, com certeza, eu consegui obter uma solução temporária, limpando o projeto no Xcode e executando apenas a depuração pelo meu IDE (estou usando o VSC) por meio de um simulador.
Jake
4
Como o OP disse, os simuladores não são afetados pelo problema. Parece afetar apenas dispositivos reais.
Ali Beadle
3
Sim, eu não consegui carregar em um dispositivo físico. Espero que a Apple conserte isso em breve.
21419 Jake
5

Para mim, finalmente funciona novamente. Eles apenas consertaram ou qualquer uma das minhas outras etapas ajudou:

  1. Desinstale o Xcode e todos os arquivos relacionados (usando o AppCleaner)
  2. Instale o Xcode pela App Store
  3. Alterar o identificador de pacote do aplicativo
  4. Remova todas as chaves "iOS Developer" do Keychain
Paulo
fonte
1
Isso resolveu o problema para mim no começo, mas então ele voltou alguns minutos depois
Ava
5

Aqui está uma solução temporária:

  1. Alterar identificador de pacote : DestinoGeralIdentidadeIdentificador de pacote (configure-o para um valor diferente do que está agora)
  2. Modificar versão : DestinoGeralIdentidadeVersão
  3. Desativar executável de depuração : ProdutoEsquemaEditar esquema (desmarque a caixa que diz "executável de depuração" )
  4. Excluir perfis de provisionamento : ~/Library/MobileDevice/Provisioning Profilesexclua tudo nesta pasta.

Agora você deve poder criar e executar projetos em simuladores e dispositivos.

Mitch Wolfe
fonte
agora eu entendi: Não é possível iniciar /private/var/containers/Bundle/Application/52553D96-4B6A-4680-B77C-C04895B7759C/dois.app
Renan Aguiar
5

Há uma outra fonte potencial desse erro. Se você não tiver uma configuração válida de certificado de desenvolvimento assinado em seu ambiente Xcode, ocorrerá erros semelhantes aos publicados pelo OP.

Você pode verificar o status dos seus certificados de desenvolvimento seguindo o link da Apple aqui .

GordonW
fonte
eu uso a conta gratuita .. seguindo o que as pessoas dizem, agora recebo um erro ao aguardar 7 dias ... não pagarei para testá-la no meu dispositivo.
Renan Aguiar