Falha na instalação do aplicativo devido a direitos de identificador de aplicativo


304

Não consigo instalar um aplicativo watchOS 2 WatchKit devido a um direito de identificador de aplicativo. Isso aconteceu depois de ativar os Grupos de aplicativos na guia Recursos.

Erro completo:

Falha na instalação do aplicativo

O direito de identificador de aplicativo deste aplicativo não corresponde ao do aplicativo instalado. Esses valores devem corresponder para que uma atualização seja permitida.

Captura de tela 1

Isso está executando o aplicativo no modo de depuração em um dispositivo físico. A execução apenas do aplicativo iOS funciona bem.

Desativei os Grupos de aplicativos novamente e removi os arquivos de direitos adicionados, mas com o mesmo erro.


Você conseguiu encontrar a correção?
Prasad1250 22/09/2015

1
Sim, a resposta de @ john-nesbitt fez o truque
Ric Santos

1
Quanto a "por que" isso acontece (pode ser útil listar), no meu caso, na alteração da conta de desenvolvedor. Foi instalado na conta A e estava tentando executar após alterar para a conta B. (Não tenho arquivo de direitos no projeto).
precisa saber é o seguinte

Confira a segunda resposta primeiro, é mais abrangente e não resultará em perda de dados.
bob Arcady

Respostas:


746

Eu tive esse problema com um aplicativo para iPhone e o corrigi usando as etapas a seguir.

  • Com o dispositivo conectado e o Xcode aberto, selecione Janela-> Dispositivos
  • Na guia esquerda da janela exibida, selecione o seu dispositivo com problema.
  • No painel de detalhes à direita, remova o aplicativo incorreto da lista "Aplicativos instalados".

Depois disso, meu aplicativo foi reconstruído e lançado muito bem. Como seu aplicativo é um watchOS, não tenho certeza se você terá o mesmo resultado, mas vale a pena tentar.


59
Isso apagará o aplicativo e todo o seu conteúdo. Preciso atualizar e não perder todos os meus dados no processo, se possível.
Robert Gummesson

65
Então você excluiu o aplicativo
railwayparade

6
Meu aplicativo não foi exibido na lista Windows-> Dispositivos, mas eu o excluí do telefone (pressionando e mantendo pressionado o ícone) que corrigiu o problema. Obrigado John.
Steve A

16
Desejo testar a migração de aplicativos para a nova versão e não posso fazer isso se excluir o aplicativo existente (versão da AppStore) do dispositivo.
mixtly87

3
Claro que funciona, mas no meu caso, o problema é que eu tenho que fazer isso toda vez que uma pessoa diferente da equipe usa o mesmo dispositivo, o que é irritante, portanto, a exclusão não é uma boa solução!
v01pe 23/02

97

Eu tive esse problema e não consegui resolvê-lo sem excluir e reinstalar o aplicativo (mexer com os perfis de provisionamento, como alguns sugeriram aqui, não ajudou).

No entanto, não perdi meus dados de teste existentes. Veja como fazer isso, para qualquer pessoa que tenha esse problema no futuro:

  1. Antes de remover o aplicativo, abra a janela "Dispositivos" do Xcode (que é cmd-shift-2).
  2. Selecione seu dispositivo e encontre seu aplicativo na lista "Aplicativos instalados".
  3. Clique no ícone de engrenagem e selecione "Download Container ...". Isso copiará todos os dados do aplicativo para o seu Mac. Guarde isso em algum lugar por enquanto.
  4. Exclua o aplicativo e reinstale-o do Xcode. Mate o aplicativo do Xcode (clique no botão Parar), para que ele não esteja em execução.
  5. De volta à janela "Dispositivos", clique no ícone de roda dentada e selecione "Substituir contêiner ...". Selecione os dados que você baixou para o seu Mac na etapa 3.

O Xcode restaurará os dados do aplicativo salvos anteriormente. Agora você tem seus dados de teste antigos de volta , e o aplicativo deve ser executado.


3
Isso funciona particularmente bem ao usar o recurso "automático de provisionamento" no Xcode 8.
Steve Madsen

2
Eu realmente gostaria de ter lido isso antes de usar a resposta. Então os dados do estado teriam sido preservados. (Veja meu comentário acima).
Tim Maher-De Troyer

1
Essa deve ser a resposta selecionada.
galactikuh

100% a resposta certa SE NÃO QUER PERDER SEUS DADOS. Deve ser aceita resposta.
bob Arcady

Tenho o mesmo cenário, mas meus dados úteis estão nos padrões do usuário. Podemos recuperar isso de qualquer maneira? A ajuda é apreciada
Rahish 24/04/19

29

Exclua qualquer versão anterior do App do seu iPhone e depois Limpe-> Construir e executar novamente. Seu aplicativo deve funcionar sem problemas no seu dispositivo.

Além disso, verifique se você não selecionou o Certificado de distribuição nas configurações do projeto ao tentar executar o projeto diretamente no dispositivo.


28

Você receberá esse erro quando o prefixo do AppID não corresponder ao prefixo do aplicativo instalado anteriormente. Se o seu aplicativo já estiver na App Store, você não poderá enviar atualizações sem restaurar o prefixo do AppID original ou entrar em contato com a Apple.

Instruções da Apple para lidar com esse problema: https://developer.apple.com/library/content/technotes/tn2319/_index.html#//apple_ref/doc/uid/DTS40013778-CH1-ERRORMESSAGES-UPGRADE_S_APPLICATION_IDENTIFIER_DOES_NOT_MATCH_THEINP

Se você não pretendia alterar o prefixo do AppID, o Xcode está assinando seu aplicativo com o perfil de provisionamento errado.

Se você pretende alterar o prefixo do AppID (porque o aplicativo foi transferido para um novo desenvolvedor ou está migrando de um AppID antigo anterior a 2011), entre em contato com a Apple para migrar um AppID existente para um novo prefixo.

Você também deve adicionar o previous-application-identifiersdireito ao seu aplicativo, listando todos os AppIDs anteriores (com prefixos antigos). E você deve pedir à Apple para gerar um perfil de provisionamento para você que inclua o previous-application-identifiersdireito.


2
Meu perfil curinga que usei para desenvolvimento expirou e, por engano, criei um específico para o aplicativo. Depois de ler sua postagem, criei um novo perfil curinga e o usei. Funcionou como um encanto. A sua mensagem é a mais precisa e deve ser a resposta aceita. Excluir o aplicativo e perder os dados não é uma boa opção para muitos de nós. Obrigado!
precisa saber é

17

Resolvi isso sem excluir o aplicativo

Com o projeto aberto no xcode. Projeto -> Configurações de compilação -> Assinatura de código -> Perfis de provisionamento (suspenso) Provavelmente, está definido como automático e está escolhendo o perfil errado. Abra a lista suspensa, escolha a correta e execute novamente o aplicativo.


Inicialmente, tentei excluir e reinstalar o aplicativo. Não funcionou. Então eu rolei para baixo e vi esta resposta. A compilação falhou com esse erro apenas para testes automatizados de interface do usuário, mas não para a compilação regular, e o perfil de provisionamento correto foi selecionado para a compilação regular, mas não para a compilação automatizada de testes de interface do usuário. Assim, a atualização que resolveu o problema ..
auspicious99

5

Eu enfrentei o mesmo problema e fiquei preso por vários minutos e, após uma pesquisa, a solução mais simples que encontrei é apenas remover o aplicativo instalado anteriormente do seu dispositivo manualmente e tentar executá-lo no Xcode novamente.

Espero que ajude você. Muito bem sucedida...


4

Passos

  1. Com o dispositivo conectado e o Xcode aberto, selecione Janela-> Dispositivos
  2. Agora selecione o aplicativo e faça o download do contêiner usando o ícone de configuração
  3. Excluir o aplicativo
  4. Instale o aplicativo novamente usando o Xcode
  5. Parar do Xcode
  6. Vá para Janela-> Dispositivo, selecione o aplicativo e substitua o contêiner que é backup do aplicativo anterior

As etapas do contêiner não são necessárias, mas agradáveis, se você deseja atualizar os dados. Obrigado.
precisa


2

Tentei algumas coisas, como atualizar / criar novos perfis de provisionamento, corrigir direitos no Apple Member Center e no projeto, mas no meu caso, simplesmente tive que excluir o aplicativo e executá-lo novamente.

o_O


O direito de identificador de aplicativo deste aplicativo não corresponde ao do aplicativo instalado.

NOTA: diz " ... não corresponde ao aplicativo instalado "

Acho que aconteceu comigo porque adicionamos uma nova extensão de aplicativo e deve ter havido alguns problemas de migração relacionados ao destino? Não tenho certeza, mas de qualquer maneira


sim, exclua o aplicativo instalado no seu dispositivo e execute novamente o Xcode. Eu tive esse problema porque adicionei um destino no Xcode.
Syed Asad Ali 23/02

2

Descobri que alterei acidentalmente o perfil de provisionamento para ter um curinga.

Ou seja, passou de com.companyname.appnickname para com.companyname. *

Criei um novo perfil de provisionamento com o nome completo corretamente nomeado, baixei-o, defina o Target-> configurações de compilação-> perfil de provisionamento para esse novo perfil, reiniciei o xcode, recebi um erro bizarro do xcode (parecia confundir meus vários desenvolvedores de aplicativos logins), reiniciou o xcode novamente e funcionou!

Eu não queria excluir o aplicativo existente, porque estava tentando testar o que acontece quando um usuário atualizava o aplicativo para uma versão mais recente. Por isso, instalei a versão da loja de aplicativos e execute o meu xcode com a versão mais recente (que age como 'atualizar' o aplicativo sem remover nenhum dado do usuário).


Você só precisa ter certeza de que está usando o mesmo perfil de provisionamento com o qual criou o aplicativo originalmente.
Mj662

2

Eu tive o mesmo erro e o resolvi alterando o Identificador de pacote para algo novo. Depois disso, ele cria o projeto sem nenhum problema.

Meus passos:

  • Abrir Xcode
  • Vá para a guia Geral
  • Encontrar Identidade
  • Altere o Identificador de pacote para algo novo.

Alteração de identificador de pacote


2
Isso não funciona se você deseja testar uma atualização de aplicativo.
Raphael Oliveira

2
Ao alterar o ID do pacote, você criou efetivamente um aplicativo totalmente novo.
Steve Madsen

2

Eu tive o mesmo problema. O bundle.identifier e o nome do projeto devem ser os mesmos. Pelo menos esse foi o meu problema.


1

Desinstalar o aplicativo principal do iPhone, o aplicativo Watch e compilá-los novamente, resolve o problema.


1

Eu tive o mesmo erro até restaurar o relógio aos padrões de fábrica, conforme https://forums.developer.apple.com/thread/17948

"Aparentemente, se você possui um aplicativo WatchOS 1 existente e tenta atualizá-lo para o WatchOS 2, o identificador do pacote é alterado e causa esse erro. Se você atualizar o seu relógio, será necessário redefini-lo se você instalou o aplicativo WatchOS1 antes de atualizar o aplicativo para WatchOS2 ".


Eu também tive que restaurar o relógio para os padrões de fábrica. Tentara todas as outras sugestões relevantes, mas sem sucesso. Também havia regenerado todos os perfis de provisionamento para garantir que eles fossem consistentes com os direitos. Minha situação era apenas como descrito aqui: Teve um já existente WatchOS 1 aplicativo, que eu estava tentando atualização para WatchOS 2.
rene

1

Embora eu tenha seguido algumas etapas lógicas: desinstalar o aplicativo, reconstruir o projeto, a única solução que funcionou para mim foi: reiniciar o XCode . (XCode 8.1)


1

Isso aconteceu quando tentei instalar sobre uma compilação ad-hoc.


1

Na maioria das respostas a esse problema, há um aspecto crítico sendo esquecido que foi abordado pelo solicitante original. O aplicativo precisa ser instalado sem excluir a instalação existente. No meu caso, o aplicativo usa um banco de dados SQLite que armazena bastante dados para o usuário. Obviamente, se você excluir o aplicativo, os dados serão excluídos. Uma solução que me permitiu testá-lo da mesma maneira que um usuário o atualizava era uma obrigação.

No meu caso, o problema era o Xcode usando um perfil de provisionamento gerado automaticamente pelo Xcode. Provavelmente isso aconteceu porque eu adquiri um computador novo e não transferi o perfil de provisionamento de distribuição. Sem mencionar, eu não havia atualizado o aplicativo em quase dois anos. Portanto, meu perfil de provisionamento original (que contém o identificador de aplicativo Entitlements) desapareceu há muito tempo. Solução: nas preferências do Xcode -> Contas -> selecione o ID Apple apropriado -> Exibir detalhes -> Em Perfis de provisionamento, clique com o botão direito do mouse no perfil gerado pelo Xcode para esse aplicativo (é prefixado com XC iOS) e selecione Mover para a lixeira .

Perfis de provisionamento do Xcode em Contas

No site do desenvolvedor, crie um novo perfil de distribuição com o ID do seu aplicativo. Faça o download do novo perfil, clique duas vezes e o Xcode deve instalá-lo automaticamente. Por outro lado, você pode retornar aos perfis listados no Xcode e tocar no botão Download ao lado do seu perfil recém-criado. Crie o aplicativo e tente executar novamente. A propósito, meu Xcode está configurado para gerenciar automaticamente a assinatura de código, o que, além desse problema, funciona muito bem.


1

TLDR - exclua o aplicativo do dispositivo e execute novamente.

No meu caso:
1. I compilado e executar o aplicativo no iPhone dispositivo .
2. Abro na configuração dos Recursos e ligo o iCloud
3. Em seguida, tento executar o aplicativo novamente, boom, erro: "Falha na instalação do aplicativo O direito de identificador de aplicativo deste aplicativo não corresponde ao do aplicativo instalado. Esses valores deve corresponder para que uma atualização seja permitida.

4.Eu apaguei o aplicativo do iPhone (depois de ler as respostas aqui)
5.Tudo funciona OK


1

Para as pessoas que podem fazer parte de mais de uma equipe, este pode ser o seu problema:

  • Se o ID do pacote do aplicativo estiver codificado no Info.plist, o Xcode poderá ficar confuso e fazer essa birra.

Consertar:

  • Verifique se o ID do pacote configurável está definido como:

    $ (PRODUCT_BUNDLE_IDENTIFIER)


0

A resposta aceita não funcionou para mim. Para funcionar, tive que redefinir o Apple Watch para o último backup disponível.


0

Eu recebi esse erro depois de passar de 5 para 6. Recuperei os novos 6s a partir de um backup do iPhone antigo. Por causa disso, no novo iPhone, o aplicativo antigo foi instalado.

O aplicativo antigo não apareceu na lista "Aplicativos instalados" do 6s! Excluí manualmente esse aplicativo antigo dos anos 6 e tudo estava bem.


0

Encontrei esse problema porque eu criei para o telefone com a minha assinatura de código desativada em outra máquina, portanto, você precisa desinstalar o aplicativo do telefone antes de instalar / construir no telefone com a assinatura de código.


0

Isso é resolvido facilmente removendo o aplicativo anterior do seu dispositivo. E comece a reinstalar novamente. Este trabalho é bom para mim.


0

Enfrentei o mesmo problema hoje e resolvi-o alterando apenas o Nome para exibição e o Identificador de pacote do aplicativo anterior que também foi instalado no meu iPhone. Passos:

Xcode -> General tab -> Find Identity -> Change Bundle Identifier

Então, agora eu tenho dois mesmos aplicativos com a mesma funcionalidade, mas com dois nomes e identidade diferentes.


0

No meu caso, foi por causa do certificado.

como meu próprio certificado para assinar o aplicativo não fazia parte da equipe de desenvolvedores (novo funcionário), não era permitido atualizar o aplicativo da App Store para uma nova versão.

Portanto, caso isso aconteça e você não consiga obter um certificado "bom", basta clonar a versão git appStore, abrir dois projetos Xcode, compilar a versão antiga, atualizar as configurações conforme desejado e compilar a nova. e pronto.

um pouco sujo e complicado, mas espero que ajude alguém.


0

Meu problema foi o ID do aplicativo em combinação com o certificado usado para criar os perfis de provisionamento. Nenhum dos meus perfis de provisionamento estava funcionando porque nenhum deles era "Elegível" (criado com um certificado que correspondia ao ID do aplicativo). Eu havia transferido o desenvolvimento para uma nova máquina, então talvez esse fosse o motivo mais profundo. De qualquer forma, tive que criar um novo certificado e, em seguida, novos perfis de provisionamento, com o cuidado de escolher o ID do aplicativo correto ao criá-los. Boa sorte.


0

Nenhuma das respostas acima funcionou para mim. Meu problema: instalei uma versão do aplicativo a partir do Testflight, então, acabei de excluir o aplicativo antigo e a versão do Testflight e estou funcionando novamente.


0

Aceitar os acordos pendentes do site do desenvolvedor e do site iTunes Connect e reabrir o projeto no X-Code resolveu a situação para mim.


0

Para mim, isso ocorreu após a atualização para o XCode 11, como os outros disseram, é um problema de assinatura. O que foi corrigido para mim foi acessar o portal do desenvolvedor> Certificados e identificadores Editar o perfil de provisionamento que você está usando

Lista de certificados Screenshot

Você verá que há um certificado para o XCode 11 (como visto na captura de tela). Marque essa caixa, faça o download do perfil e atualize seus projetos assinando com o novo perfil.


0

Com o MacOS Catalina, seu iPhone será exibido na barra lateral 'Locais' das janelas do Finder (desde que você tenha as preferências do Finder configuradas para exibir dispositivos externos) - você poderá acessar os arquivos através da opção 'Arquivos', que está disponível na barra perto da parte superior da janela, logo abaixo do título (no meu caso, tive que clicar no '>' à direita).

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.