Desde ontem, recebi o seguinte erro ao tentar executar um aplicativo no meu dispositivo: "Não foi encontrado um perfil de provisionamento válido para este executável.". Isso ocorreu após a atualização para o Xcode 10. A criação do Xcode 9 na semana passada funcionou sem problemas.
Eu verifiquei as outras discussões sobre o erro, mas nenhuma das soluções funciona.
O problema não se limita a um único projeto no qual estou trabalhando, pois afeta vários de diferentes equipes de assinatura.
Até agora, tentei o seguinte:
Projeto de limpeza
Limpando Dados Derivados
Desinstalando o Xcode, excluindo quaisquer preferências e arquivos relacionados a ele.
Instalando o Xcode em um Mac completamente diferente
Testando com dispositivos diferentes
Desativando o dispositivo no perfil do desenvolvedor e deixando o Xcode ativá-lo novamente.
Excluindo todos os certificados no portal do desenvolvedor e recriando-os
Desmarcando e verificando novamente "Gerenciar assinatura automaticamente"
Descartar o perfil de provisionamento e permitir que o Xcode o recrie
Criando um perfil de provisionamento manual no perfil do desenvolvedor
O projeto não contém testes, portanto não pode haver um problema com as configurações de assinatura incorretas nesse destino. Data / hora está definido como Automático
Uma coisa a observar é que nenhum perfil de provisionamento está listado aqui, exceto o manual que eu criei: https://developer.apple.com/account/ios/profile/
Eu esperaria que o xcode gerasse um para aparecer como todos os outros clientes.
Abaixo estão as configurações de assinatura que estou usando no momento
Ainda estou tentando fazer o downgrade do Xcode para uma versão mais antiga para ver se isso funciona. Fora isso, não tenho idéia do que tentar em seguida.
missing provisioning-profile
.Respostas:
Eu estava lutando com isso hoje, foi super frustrante. Por enquanto, basta entrar em
"File"
>"Project Settings..."
(ou em alguns casos"Workspace Settings..."
) e selecionar"Legacy Build System"
no"Build System"
menu suspenso.fonte
@ Stephen tks isso resolvido para mim. Eu só preciso ir -> Arquivo -> WorspaceSettings -> Configurações de compilação (mude aqui para "Sistema de compilação herdado")
fonte
[edit] Nota 2020: Eu costumava assinar manualmente este projeto. Nos projetos em que assinei automaticamente, nunca tive esse problema. [/editar]
Eu tive o mesmo problema e passei horas procurando uma resposta, removendo perfis, limpando projetos e assim por diante.
Você distribuiu seu aplicativo? Você precisa voltar ao seu perfil de desenvolvedor, mas não em geral nas configurações do projeto, mas nas configurações de compilação .
Em Assinatura , observe sua identidade de assinatura de código .
Certifique-se de que seu Debug e Release estejam definidos como iOS Developer , e não iOS Distribution ; ou seu perfil de provisionamento para desenvolvedor do iOS, se não estiver definido com os valores automáticos.
O mesmo acontece com o perfil de provisionamento. Deve ser o seu perfil de desenvolvimento, e não o seu perfil de distribuição.
Espero que isso ajude futuros desenvolvedores necessitados.
fonte
Eu tentei todas as soluções acima.
No entanto, no meu caso, após horas de dor de cabeça, foi por causa do projeto de teste que não há uma conta válida para provisionar a assinatura. Depois, selecionei uma equipe para provisionar no Projeto de Teste a assinatura gerenciada automática. Esse problema foi resolvido.
fonte
Use a pasta de compilação limpa (command + shift + K) e o aplicativo de reconstrução poderá em breve corrigir esse problema. No entanto, o tempo de compilação aumentará desde que você limpou a pasta de compilação.
fonte
Portanto, esse não será o caso para todos, mas pensei em publicá-lo aqui de qualquer maneira, pois parece não haver respostas relacionadas a ele.
No meu caso, eu estava trabalhando em um aplicativo que estava sendo desenvolvido no ReactNative, meu problema era que, embora minha assinatura estivesse correta no alvo principal do aplicativo, o alvo de teste não tinha nenhuma assinatura aplicada a ele.
Por alguma razão, o React Native exige que o destino do seu aplicativo e o destino do teste sejam assinados para instalar o aplicativo em um dispositivo.
Ele especifica isso na documentação oficial sobre a construção de dispositivos no entanto, é a única instância que eu já vi em que o destino de teste é criado ao lado do aplicativo para algo que não seja teste.
Para assinar seu objetivo de teste, vá para as configurações do seu projeto, abrindo o navegador do projeto (⌘1) e selecione o seu projeto na parte superior.
Dentro do editor principal, selecione seu destino de aplicativo principal em Destinos (deve ter o mesmo nome que seu projeto) e verifique se a assinatura está correta. Em seguida, selecione o destino de teste (provavelmente logo abaixo do destino de aplicativo principal, ele deve ter o mesmo nome em Testes anexado) e verifique se está assinado da mesma maneira.
Recrie seu aplicativo e ele deve ser instalado com sucesso.
O crédito por isso vai para Leo Lei, sua resposta aqui me salvou muita dor de cabeça: https://stackoverflow.com/a/48657358/732844
Como um aparte, se alguém souber por que reagir nativo exige que seu destino de teste seja construído ao lado do destino do seu aplicativo, eles podem me informar? A única razão pela qual consigo pensar é em simplificar a interface para que a reação possa criar um único aplicativo e executar tanto os testes quanto a execução sem a necessidade de reconstruir, mas estou apenas tentando adivinhar.
fonte
No meu caso, aqui estão as etapas que eu resolvo os problemas:
~/Library/MobileDevice/Provisioning Profiles/
O motivo para executar as etapas acima é remover os perfis de provisionamento antigos que atrapalharam o processo de criação.
fonte
Para nossa equipe, nada ajudou. Passamos alguns dias e testamos todas as etapas mencionadas aqui acima em respostas e comentários. Tentamos com o XCode 10 e até o XCode 9.2 em um aplicativo, que está na App Store há muitos anos.
O problema começou após a atualização para o MacOS Mojave. Infelizmente, voltar para HighSierra não ajudou em nada.
Pelo menos, conseguimos enviar novamente para a App Store depois de criarmos um novo perfil de certificado e provisionamento. Mas ainda não conseguimos mais testar nosso aplicativo no modo de liberação no dispositivo real, o que é necessário para testar as compras do InApp.
Em resumo: o arquivamento e o envio funcionam bem, rodando em dispositivos reais, não!
Vários desenvolvedores, vários dispositivos, macbooks, versões XCode ....
No final, tivemos que alterar o AppID para poder testar novamente no dispositivo real.
Para isso, executamos dois projetos diferentes agora: um para envio ao TestFlight / AppStore com o AppID real e outro para fins de desenvolvimento com outro AppID.
Embora isso só ocorra em UM aplicativo específico da nossa empresa e não em todos os outros, esperamos ter problemas semelhantes no futuro, à medida que as coisas piorarem com as ferramentas de desenvolvimento da Apple ...
fonte
Eu tive esse problema ocorrendo no Xcode 10.3 depois que mudei para o meu destino de teste de unidade XCTest e voltei para o objetivo de tempo de execução do projeto.
Acontece que eu selecionei equipes diferentes no meu perfil de provisionamento para cada destino.
Para fixar isso :
Pasta de criação limpa
Verifique se todos os destinos podem estar usando a mesma equipe. Consulte Assinatura de perfil na guia geral.
Se não estiver usando a mesma equipe para todos os destinos, limpe antes de mudar para um destino de construção com
equipe diferente selecionada.
fonte
Verifique se o perfil de provisionamento vem da mesma equipe nos seus testes de destino e de destino.
fonte
No meu caso, a data e hora do dispositivo foi definida para uma data futura. Alterar a configuração da data para "automático" corrigiu o problema.
fonte
Eu estava enfrentando problemas com o mesmo problema, e a solução no meu caso foi fazer login nas contas de desenvolvedor. Após a atualização para o Xcode 10, todas as contas foram desconectadas.
Use o menu "Xcode -> Preferências ... -> Contas" e verifique se todas as contas usadas estão conectadas para que os perfis de provisionamento estejam acessíveis.
fonte
Eu tinha seguido todos os passos acima, mas não está funcionando finalmente. Fui criado como alvo duplicado e está funcionando bem. Não tenho ideia do que está errado, talvez problema de memória cache
fonte
Você mudou seu dispositivo de desenvolvimento? Aconteceu comigo quando comprei um iPhone novo e dei o mesmo nome ao meu dispositivo anterior. Uma compilação limpa, no entanto, corrigiu o problema.
fonte
Demorou muito tempo, e fizemos todas as soluções acima e elas não funcionaram, então nossa equipe decidiu remover
Pod
arquivos e executarpod install
novamente. finalmente, nosso OTA carregou o ipa instalado no dispositivo do usuário. melhor soluçãolimpo
project menu > Product > Clean Build Folder
e/Users/{you user name}/Library/Developer/Xcode/DerivedData
vá para o diretório do projeto e remova
Podfile.lock
,Pods
pasta,pod_***.framework
corra
pod install
novamenteFeito
fonte
Eu tinha o caso em que meu aplicativo seria implantado no meu iPhone, mas não no meu relógio. A implantação no watch daria "Não foi encontrado um perfil de provisionamento válido para este executável". erro. Isso ocorre com o XCode Versão 11.2.1 e usando a conta de desenvolvedor gratuita.
Aqui está o que eu fiz para implantá-lo no meu relógio:
1) Excluí meu perfil de provisionamento no XCode. Eu fiz isso indo para Window -> Devices And Simulators. Em seguida, clique com o botão direito do mouse no nome do iPhone e escolha "Mostrar perfis de provisionamento". A partir daí eu poderia excluir o arquivo
2) Na tela Dispositivos e simuladores, também excluí meu aplicativo da seção "Aplicativos instalados".
3) Criou uma "pasta de compilação limpa" (Produto -> Pasta de compilação limpa)
4) Nas "Configurações de compilação" -> "Seção de assinatura", verifiquei se cada destino (iPhone, Testes e Watch) tinha as mesmas configurações (equipe de desenvolvimento, estilo de assinatura de código, perfil de provisionamento definido como automático etc.).
5) Verifique se o diretório ~ / Library / MobileDevice / Provisioning Profiles estava vazio.
6) Telefone desconectado do computador
7) Computador reiniciado, telefone e relógio
8) Conecte o telefone novamente ao computador e consulte as instruções "confie nesta máquina" no telefone e no relógio.
9) Ran app. Funcionou!
fonte
Hoje, tive o mesmo erro ao instalar um aplicativo no meu dispositivo. O problema ocorreu após a atualização para o novo xCode 11.4.
O que fiz para corrigir o problema:
fonte
No meu caso, onde nada mais ajudou, fiz o seguinte:
Antes disso, experimentei todas as etapas mencionadas aqui. Mas somente isso ajudou.
fonte
Para mim, mesmo que o certificado de distribuição e o perfil de provisionamento estivessem disponíveis para o Xcode, selecionar Assinatura de gerenciamento automático durante o processo de distribuição causava falha. Eu fiz o seguinte. Como mencionado anteriormente, criei um novo certificado de distribuição e perfil de provisionamento e, durante o processo de distribuição, selecionei manualmente o certificado e o perfil de provisionamento e Voilaaaa. Também verifiquei se estou na versão mais recente 10.1.
fonte
Parece que a Apple corrigiu esse bug no Xcode 10.2 beta 2 Release.
https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_beta_2_release_notes
A versão Xcode 10.2 beta 2 pode ser baixada aqui: https://developer.apple.com/download/
fonte
Você só precisa mudar sua equipe. No meu caso que funcionou
fonte
Depois que eu cansado a maior parte solução, eu encontrei o seu fazê-lo funcionar sem qualquer problema para mim, Sua resolvido por ir para
developer.apple.com
, em seguida,account
em seguida,Certificates, identifiers & profiles
e eu clicar noAll
link abaixoDevices
e, em seguida, adicionar um novo dispositivo.é necessário definir o nome do dispositivo e uuid e depois salvá-lo. Vá para xcode e limpe o cache, construa e todo o seu trabalho é bom.
Nota 1: verifique se sua equipe é verdadeira.
Nota 2: Você pode obter o uuid ao conectar o dispositivo ao seu dispositivo mac, clicar no iTunes e pressionar no rótulo de segurança. Você verá UUID.
O que esta resposta também é útil.
fonte
Eu tentei todas as respostas acima e não tive sorte. Depois disso, reinicio o iPhone e o problema parece ter desaparecido. Eu sei que é tão estúpido, mas funcionou. As respostas acima provavelmente resolvem o problema, mas se não, tente reiniciar o seu dispositivo iOS.
fonte
Assegure-se de que você:
1) Tenha um perfil de provisionamento registrado para o seu dispositivo.
2) O dispositivo deve ser adicionado ao perfil de desenvolvimento e atualizado.
Se você ainda tiver problemas, verifique as configurações de compilação do seu destino.
Assegure-se de que você:
1)
CODE_SIGNING_REQUIRED
inUser-Defined
está definido comoYES
.2) Verifique as
Signing
opções estão corretas. Se o problema persistir, mude para as configurações manuais em vez de automaticamente.fonte
Encontrou mesmo problema, nós tivemos várias configurações de projeto Xcode, digamos Vamos
Debug-Staging
,Debug-Production
. Em seguida, unificamos e usamos apenas uma configuraçãoDebug
. Mas o antigo (que não existe mais) ficou preso no esquema para a fase de execução, portanto, uma vez que você tentou executar, o Xcode mostrou essa mensagem. O que faz sentido, pois os perfis de provisionamento são configurados nas configurações de compilação com base na configuração.Então, o esquema de execução ficou assim:
Enquanto as configurações do projeto foram definidas dessa maneira.
Alterar o esquema para usar a configuração que ainda está disponível no projeto foi o que corrigiu esse problema para mim.
fonte
Eu tive o mesmo problema (XCode 11) e nada funcionou o que foi escrito aqui.
Meu problema foi que eu tinha o iOS Beta (13.3) no meu telefone. Depois de reverter que tudo funcionou bem novamente.
Idéia: talvez o dispositivo armazene em cache algumas informações sobre o perfil de provisionamento também, para que uma redefinição de fábrica do telefone também possa corrigi-lo?
fonte
Para mim, trabalhou para excluir um recurso e adicioná-lo novamente.
fonte
Eu fiz o seguinte:
Isso é muito estranho, mas funcionou para mim, pode funcionar para os outros e salvar a frustração.
fonte
Finalmente, eu descobri o que estava acontecendo ... quase me levou duas horas
Meu caso é que a data do meu telefone não está correta. Esqueci que mudei a data do meu telefone. Eu acho que isso faz com que todos os meus perfis de provisionamento expirem ...
Portanto, se você já tentou todas essas respostas, mas nada funciona. Vá para CONFIGURAÇÕES, verifique a data do seu telefone.
fonte