Um perfil de provisionamento válido para este executável não foi encontrado no modo de depuração


239

Estou recebendo esse erro enquanto estou tentando depurar meu aplicativo no dispositivo.

Criei um perfil de provisionamento de desenvolvimento, conforme mencionado no portal do desenvolvedor. Meu dispositivo de desenvolvimento está selecionado no perfil e estou selecionando o perfil correto no menu de identidade de assinatura de código do Target. Recriei o perfil de provisionamento várias vezes e também o removi e reinstalei e recriei o projeto, mas estou conseguindo isso sempre que tento depurar no dispositivo.

Btw, o perfil de provisão de distribuição ad-hoc funciona.

Passei o dia inteiro para descobrir uma solução, mas nada. Alguém tem uma solução?


2
A Apple fornece instruções detalhadas dentro do provisionamento portal: Certificados , perfil de aprovisionamento
Casebash

Estranhamente, vejo esse erro apenas no console do Xcode Organizer, mas o aplicativo ainda é instalado e executado sem problemas. Estou construindo com um perfil ad hoc e um perfil de distribuição da loja de aplicativos. Pode estar reclamando do perfil ad hoc, mas executando com o perfil de distribuição da loja de aplicativos?
Richever

Eu segui este tutorial e funcionou para mim! Espero que ajude. youtube.com/watch?v=dUdHifLTyrE
matiaslezin 12/12/12

Eu tive o mesmo problema. O dispositivo não foi adicionado ao perfil de provisionamento, esse foi o motivo.
Kelin

1
Se você está recebendo esta mensagem depois de uma semana de ter o funcionamento do aplicativo e está usando uma conta de desenvolvedor livre você tem que reinstalar
Ryan Haining

Respostas:


186

Pode ser porque o seu iphone não é reconhecido pelo portal de provisionamento.

Solução:

1) No Xcode, Goto -> Build -> limpa todos os destinos.

2) Em "Grupos e arquivos" -> Destino -> expanda -> clique com o botão direito do mouse no seu aplicativo e selecione Limpar "seu aplicativo"

3) Ir para-> Janela -> Organizador

4) Na guia Dispositivos à esquerda, selecione seu iphone

5) Na seção Aprovisionamento do iphone selecionado, exclua todos os perfis atuais (se houver)

6) Desconecte seu iPhone e conecte-o novamente.

7) Vá para> Janela -> Organizador -> clique com o botão direito do mouse no seu iPhone -> Adicionar dispositivo ao portal de provisionamento

8) Agora, verifique se você selecionou a identidade de assinatura de código apropriada nas configurações de edição do projeto -> construção -> assinatura de código

Construa e execute. Boa sorte!


7
não necessariamente. Executei todas as etapas mencionadas e meu dispositivo já está listado no portal de provisionamento e ainda recebo esse erro.
Nate

35
Agora está desatualizado. No Xcode 4.3+, vá para Organizador> selecione o dispositivo> clique em "Adicionar ao portal" na parte inferior da tela e você estará fora! Se você errar sua senha na primeira vez que o Xcode Organizer solicitar, ele ainda instalará o dispositivo, mas sem um certificado válido. A atualização de perfis de provisionamento em 'Biblioteca' não afeta o certificado associado ao dispositivo. Voila!
Pchap10k 30/08/12

1
Não achei que isso iria funcionar, mas funcionou totalmente. Obrigado! me salvou muitas horas de dor de cabeça. :) btw, estou usando o xcode 4.5.
Mona13:

1
Ao "adicionar ao portal de provisionamento", recebi um erro de que precisava aceitar o novo contrato no site developer.apple.com, usando o navegador da Web primeiro, e isso funcionou muito bem. Obrigado!
haa

11
Desatualizado. Isso é completamente diferente no xCode 6 ... atualize sua resposta.
Stevebot #

45

No Xcode 10, resolvi isso trocando o sistema de construção do projeto de "novo sistema de construção" para "sistema de construção herdado" (Arquivo -> Configurações do projeto).


5
A pergunta original é: "Passei o dia inteiro para encontrar uma solução, mas nada. Alguém tem uma solução?" referente ao erro "Um perfil de provisionamento válido para este executável não foi encontrado no modo de depuração". Alterar o sistema de compilação na nova versão do Xcode resolve o problema. Existem muitas soluções publicadas para várias situações quando isso ocorre.
che

3
@ user191712 Ignore os moderadores de presunçosos. Sua resposta me salvou de horas de descer rabbitholes não relacionados ao erro. Obrigado!
remondo

Esqueci de verificar essa configuração ... thanks️ obrigado cara!
Cesarak

Muito obrigado. Funcionou para mim sem perder tempo!
Deniz

1
Por um motivo que ainda não entendi, esse também foi o problema de um cordova-ios@4.5.4projeto e do XCode 10.0.
58519 Jan'abojad

41

Eu tive o mesmo problema. Tudo estava bem: o dispositivo foi registrado no IOS Provisioning Portal; o certificado foi baixado e os perfis de provisionamento de desenvolvimento do meu aplicativo foram baixados.

Então a solução !!!

Alvo> Obter informações

Selecione Configuração a liberar (aqui está o diabo) Na assinatura de código, Identidade de assinatura de código, verifique o iPhone Developer. Perto.

No Target, escolha Clean Target e, em seguida, execute o aplicativo.

Boa sorte.


67
Onde está esse Alvo-> Obter Informações?
Septiadi Agus

1
Vi que posso definir a identidade de assinatura de código como devloper nas configurações de compilação.
Septiadi Agus

2
Nenhuma captura de tela para "Target-> Get Info"? Não consigo encontrar.
precisa saber é o seguinte

1
@Rafael O que é Target-> Get Info?
skywinder

1
Por favor, explique o que é "Alvo> Obter informações".
bitops 6/11/16

28

No meu caso, isso ocorreu porque havia duas versões do certificado de desenvolvedor no chaveiro.

Excluindo o certificado de desenvolvedor do iPhone de Meus certificados e certificados e baixando o mais recente do centro de desenvolvimento e instalando-o (clique duas vezes no arquivo .cer)

resolvi meu problema


Teve o mesmo problema. Dev vários certificados para o meu nome. Isso consertou.
Héctor Ramos

2
sim isso consertou o nosso. clique no Target> configurações de compilação> assinatura de código> depuração> clique no menu suspenso para o iPhone DVELOPER> e não faça escolher a Seleção automática tente cada um dos outros ids desenvolvedor ligados a outro Team * PP de
brian.clear

1
esta deve ser a resposta correta ... faz sentido, já que o dispositivo não foi adicionado ao perfil de provisionamento real ...
Calleth 'Zion'

se você tentar executar com um perfil de assinatura de código ao qual o dispositivo atual não foi adicionado, você receberá exatamente o mesmo erro (por exemplo, isso pode acontecer ao alternar da depuração para a versão)
kritzikratzi

1
@ChrisConway Sim, mas a resposta marcada não explica o porquê da questão ... ela está apenas fazendo um processo inteiro sem saber o porquê;)
Calleth 'Zion'

18

Finalmente eu poderia resolver o problema. Um de meus colegas revogou o certificado de desenvolvedor no iOS Provisioning Portal para seus aplicativos de teste. para fixação; eu removi o certificado de desenvolvedor existente no meu conjunto de chaves, solicitei um novo certificado com a chave privada existente, revoguei o certificado do portal de provisionamento e enviei o certificado recém-solicitado.

agora posso depurar meu aplicativo no meu dispositivo :)


Uma das causas pode ser o seu "projeto => Configurações de compilação => Assinatura => Equipe de desenvolvimento" é diferente do seu "target => Configurações de compilação => Assinatura => Equipe de desenvolvimento", apenas faça o mesmo
Parar

16

Isso me chamou a atenção porque alguém alterou a configuração "Build Configuration" da configuração "Run" para "Release" (em "Product"> "Edit Scheme .."> "Run * .app").

Normalmente, isso é definido como "Debug" e, portanto, NÃO estava usando o certificado de desenvolvedor e o perfil de provisionamento que eu esperava, mas sim os certificados de distribuição.

Além disso, descobri que, se você procurar no dispositivo o registro do console (via Organizer), pode haver um código de erro que indica melhor o seu problema. Por exemplo, eu tinha ...

Mon Sep  5 09:39:56 unknown installd[304] <Error>: profile not valid: 0xe8008012

Em seguida, pesquisei "0xe8008012" no Google e obtive a página a seguir, que indica um erro "0xE8008012 - O UUID do dispositivo não corresponde a nenhum erro no perfil de provisionamento sendo carregado".

MobileInstallation


Você salvou uma vida hoje! Obrigado.
Okhan Okbay

15
  • Xcode->Click your app -> TARGETS -> click the app-> Build Setting-> Code Signing: Verifique se Debug e Any iOS SDK estão definidos como iPhone Development

  • Xcode -> Product -> Scheme -> Edit Scheme: Verifique se Build Configuration está definido como Debug .


isto não é para distribuição.
Curnelious

Para esclarecer, eu acrescentaria que você deve definir a configuração do Build como Debug for Run(e geralmente para Teste Analyzetambém). Archivegeralmente deve ser Release , caso contrário, sua distribuição ficará confusa.
Aron

13

No meu caso, esse problema ocorreu porque outro perfil de provisionamento foi selecionado para os testes de unidade. Levei horas para encontrar isso ...


@IeMale Você salvou meu dia!
stavros.zavrakas

13

Eu tive o mesmo problema com o Xcode 10.0 beta 5 (10L221o) e um dispositivo executando o iOS 12.0 (16A5345f) - que também é beta.

Após a instalação do alerta do aplicativo intitulado "Falha na instalação do aplicativo", "Um perfil de provisionamento válido para este executável não foi encontrado".

Eu me livrei disso: ~/Library/MobileDevice/Provisioning Profilese encontrando o certificado que o Xcode estava tentando usar. Em seguida, na janela "Dispositivos e simuladores" no Xcode, cliquei com o botão direito do mouse no meu dispositivo, escolha "Mostrar perfis de provisionamento" e, com um botão de adição, adicionei o perfil de provisionamento ao dispositivo.

Não me lembro de quando fiz da última vez, faz anos. Eu acho que o Xcode normalmente faz isso por nós, mas por algum motivo, falha quando vemos essa mensagem.


Eu tive o mesmo problema e este trabalho para mim. Obrigado.
Pat

10

Com o Xcode 6 e um novo dispositivo:

  1. Pressione cmd + shift + 2 para abrir os dispositivos. adicionar dispositivo no xcode
  2. Pressione o botão "registrar dispositivo". Se não houver esse botão (como na captura de tela), acesse developer.apple.com e adicione-o manualmente. Copie o identificador no campo. adicionar dispositivo no portal
  3. Vá para Xcode -> Preferências -> Contas -> clique duas vezes na sua conta -> Pressione o pequeno botão de atualização no canto inferior esquerdo para atualizar os perfis atualizar perfis
  4. Vá para Assinatura de código e defina os novos perfis. definir perfis

Não se esqueça de definir o Provisioning ProfilePerfil automático ou o específico, se você souber qual é, caso contrário, ele xCodepoderá selecionar o perfil correto.
Alex Cio

No meu caso, eu precisava confirmar a aceitação dos mesmos dispositivos para um novo ano de licença de desenvolvedor, remover os perfis de provisionamento e baixá-los novamente.
Dmitry

7

Podemos tentar o seguinte: Isso resolveu meu problema. Você precisa redefinir o perfil para o qual sua ID de dispositivo foi adicionada à sua área de membro do Apple.com. .insira a descrição da imagem aqui


6

Supondo que você tenha seu certificado de desenvolvimento e distribuição instalado corretamente:

Em Projeto, sua principal identidade de assinatura de código deve ser o perfil de desenvolvedor desse aplicativo.

Em Destinos, sua principal identidade de assinatura de código deve ser o perfil de distribuição desse aplicativo, exceto que você deve alterar Debug> Any iOS SDK para seu perfil de Desenvolvimento ... e verifique se Release> Any iOS SDK é o seu perfil de Distribuição. Isso deve ser desenvolvido e executado no seu telefone provisionado e deve ser arquivado sem nenhum aviso de design de código.

A única coisa que funcionou para mim quando meu telefone travou e eu tive que restaurá-lo a partir de uma imagem anterior do iTunes.


6

Esta solução funcionou para mim

  1. Vá para Xcode -> Preferências -> Conta.
  2. Na seção perfis de provisionamento, clique com o botão direito do mouse e abra com o localizador.
  3. Exclua todos os perfis de provisionamento da pasta de perfis de provisionamento.
  4. Por fim, volte ao Xcode e clique no botão Atualizar.

Espero que ajude!


informações adicionais, seu único projeto atual afetado, você só precisa excluir o arquivo de provisionamento relacionado, que deveria ter o mesmo nome com o nome do seu projeto.
Bhimbim 12/01

4

Eu tive o mesmo problema. o que fiz foi: 1. limpar o destino 2. sair do xcode 3. reiniciar o xcode 4. reconstruir.
e funcionou.


O mesmo aqui. Tudo o que eu precisava era de uma reinicialização.
Roshambo

3

Outra causa (verificada):

  1. A Apple tem um erro grave no Xcode, que volta para a versão 3.x, onde substitui magicamente o chaveiro do OS X por um falso do interior do Xcode, reinstalando certs (e chaves privadas!) Que você já excluiu

  2. ... então, se você tiver o "novo certificado" instalado e nada mais, o Xcode às vezes entra em um loop infinito, onde também mantém a instalação do "certificado antigo" (que não existe em nenhum lugar, exceto no XCode!).

  3. ... e por causa de mais um bug no Xcode (não corrigido há mais de 3 anos ...), o Xcode às vezes seleciona automaticamente o "certificado mais antigo que posso encontrar" (que, por definição, está incorreto - acho que alguém na Apple se misturou entre "mais antigo" e "mais novo" :()

  4. ... e mesmo que você tenha selecionado o perfil de provisionamento correto, o Xcode envia o perfil de provisionamento "antigo" para o dispositivo e assina com o perfil "novo", causando esse erro

Solução: você precisa remover o FUBAR do seu código-chave do FUBAR Xcode.

Isso é mais difícil do que parece (existem várias postagens de SO neste tópico) - envolve várias reinicializações da máquina, excluindo a chave todas as vezes.

Eventualmente, o Xcode desiste de corromper seu sistema operacional e aceita a realidade que você o apresenta :).


OK - depois de incontáveis horas de fóruns de leitura, maçã ajuda e ajustes ao redor, eu tenho que concordar: XCode é o culpado
AlexVPerl

3

No meu caso, um arquivo de provisionamento válido é porque não adicionei o dispositivo ao mesmo arquivo de provisionamento.


3

Alterar o perfil de provisionamento para automático e executar o Xcode solicitou a "correção" do problema. Voltei ao meu perfil de provisionamento original e tudo funcionou bem.


3

Teve o mesmo problema. Minha solução foi muito fácil. Eu verifiquei Se eu tenho o UDID do meu dispositivo no developer.apple.com e ele estava ausente. Depois que eu adicionei, ele começou a funcionar. É muito irritante que os desenvolvedores da Apple dêem o erro "Não foi encontrado um perfil de provisionamento válido para este executável" em vez de "UDID não encontrado". Na verdade, eu mencionei isso primeiro no XCode 6 ...


2

No meu caso, era o problema quando eu configurava meu horário manualmente dois meses antes no meu iPhone. Mas quando mudei para acertar a hora automaticamente, funcionou bem.

Setting-> General-> Date & Time->set time automatically

Se não funcionar automaticamente, o tempo definido no Mac e no iPhone funcionará bem.


1

Remova o certificado, perfis e recrie-o. Instale-o. Essa é a melhor alma.


1

Na minha experiência, esse problema ocorre se você tentar criar um dispositivo que não esteja registrado em sua central de desenvolvedores ou não esteja ativado no perfil de provisionamento que você está usando.

1) Adicione o dispositivo ao centro do desenvolvedor. No XCode 5, você ainda encontrará um botão "adicionar à central de membros" dentro da janela do Organizer. No XCode 6, sugiro copiar o ID do dispositivo e adicioná-lo manualmente à seção de dispositivos do seu centro membro.

2) Edite o perfil de provisionamento que você está usando para incluir o dispositivo que você acabou de adicionar. Salve e sincronize perfis de provisionamento do XCode.

Limpo, e está ligado.


1

Uma das causas pode ser o seu "projeto => Configurações de compilação => Assinatura => Equipe de desenvolvimento" é diferente do seu "target => Configurações de compilação => Assinatura => Equipe de desenvolvimento", apenas faça o mesmo


0

Eu tinha um certificado que expirou (o que gerou o erro).
Etapa 1. Acesse developer.apple.com, faça login e acesse o portal de provisionamento do IOS

Etapa 2. Vá para certificados (que agora está vazio) e siga as instruções listadas para criar um novo certificado (abra o chaveiro no seu computador, crie uma solicitação de assinatura, salve-o em disco, faça o upload para a apple)

Etapa 3. Baixe e instale os arquivos criados pela apple no seu chaveiro

Etapa 4. Problema: todos os seus perfis de provisionamento anteriores foram associados ao seu certificado OLD, portanto, você precisa voltar para developer.apple.com-> IOS fornecendo portal-> perfis de provisionamento e 'modificar' cada perfil de seu interesse. Você verá que sua identidade não é mais atribuída ao perfil, basta clicar na caixa de seleção

Etapa 5. Faça o download de todos os perfis que você alterou

Etapa 6. Conecte seu telefone e arraste e solte o arquivo .mobileprovision no ícone xcode na barra de encaixe para instalá-los no dispositivo


0

Eu vi esse problema porque havia obtido um novo Mac e ainda estava usando o certificado do meu antigo computador. Eu criei um novo certificado para o novo Mac, mas tinha os dois certificados no meu chaveiro.

No Organizador, o perfil alertou que "o XCode não pôde encontrar um par de chave privada / certificado válido para esse perfil no seu chaveiro", mesmo que o certificado antigo existisse no meu chaveiro.

A solução foi excluir o certificado antigo do meu Keychain e excluir / revogar todos os perfis que usavam esse certificado antigo. Em seguida, crie um novo perfil com o novo certificado e use-o.

Espero que isto ajude!


0

Ao trazer um aplicativo do Xcode 3 para 4.3, achei que o nome do pacote e o identificador do pacote precisavam ser configurados para corresponder ao AppId. Se tudo mais falhar, dê um giro nisso.


0

Eu enfrentei o mesmo problema, pode haver outras razões também:

While testing i set my date to some future date and profile got expired. As result this issue was generated.

But i solved by setting date of iphone to current date as a result profile was not expired. 

0

Estou compilando meu aplicativo no Adobe Air para iOS, não no Xcode. Eu estava tentando copiar o arquivo .ipa usando o iTunes e recebi a misteriosa mensagem "Erro ao instalar o aplicativo". Não foi até usar o Utilitário de Configuração do iPhone (iCU) que recebi a mensagem de erro real.

O problema era que eu estava compilando o aplicativo com um perfil de provisionamento para distribuição ad hoc e um certificado para desenvolvimento . Não entendi que existem 2 tipos de certificados e 2 tipos de perfis de provisionamento. Há um de cada para desenvolvimento e outro para distribuição. Se eles não coincidirem ..., você receberá a mensagem de erro. É óbvio quando você entende ...

A solução foi fazer o download do certificado de distribuição (.cer), clicar duas vezes para abrir no Keychain e exportá-lo como P12 diretamente da KC. Em seguida, use esse certificado de distribuição P12 nas configurações de publicação (Flash IDE ou Flash builder) e também use o perfil de provisionamento usado para distribuição ad hoc (.mobileprovision). Finalmente, instale o perfil de provisionamento e o arquivo .ipa usando o Utilitário de configuração do iPhone.

Isso fez por mim.


0

No meu caso, meu perfil de provisionamento era inválido porque a apple alterou alguns de seus termos e condições. Para corrigir o problema eu tive que

  1. excluir perfil anterior.
  2. Eu tive que aceitar os termos e condições deste site da apple.

0

Clique em Seu aplicativo no Xcode em Destinos. (No projeto.) Aqui você vê informações de resumo, configurações de compilação, fases de compilação, regras de compilação.

Ok, vá para Configurações de compilação. Vá para Assinatura de código.

Você vê que tem dois campos Debug e Release. Você tem dois perfis para escolher em cada um desses campos, Distribuindo e desenvolvendo.

Deixe a distribuição ser a única no campo Liberar. Deixe o desenvolvimento ser o único no campo Debug.

Isso resolveu o problema e deixou essa mensagem de erro desaparecer. Agora eu posso executar meu aplicativo corretamente.


0

Eu também tive esse problema com o Xcode 5.0.1. Um belo dia, o aplicativo simplesmente não queria ser instalado no dispositivo em que foi instalado há cinco minutos sem problemas.

Tentei limpar as configurações, excluir dados derivados, recriar perfis de provisionamento, assinar com outros certificados / perfis, remover o dispositivo do organizador etc.

Finalmente, redefinii o conteúdo e as configurações do meu dispositivo e construí meu projeto com êxito com perfis, certificados e ID de pacote antigos.

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.