Nenhuma identidade está disponível para assinar o Xcode 5

128

Tenho o erro "Não há identidades disponíveis para assinatura" ao tentar validar meu aplicativo no Xcode 5. Tentei tudo: Recrie certificados e perfis de provisionamento, todos os métodos descritos neste site e outros recursos; Estou confuso, porque quando tento distribuir meu aplicativo como Ad-hoc, ele cria e instala com êxito no dispositivo de teste um arquivo IPA. Mas quando tento validar meu aplicativo ou enviar para a AppStore, sempre tenho um erro. Talvez alguém possa me ajudar com esse problema.

Oleksii Moiseenko
fonte
A mesma situação exata aqui. Capaz de criar / distribuir ad-hoc, mas não a loja de aplicativos. Por favor, responda se você encontrar uma solução.
VaporwareWolf

Respostas:

211

Tudo que você precisa fazer é:

  1. vá para Certificados, identificadores e perfis no Developer Center

  2. crie um novo perfil de provisionamento em "Perfis de provisionamento" / "Distribuição"

  3. faça o download do perfil e abra-o

  4. reinicie o Xcode

Mavis
fonte
1
Obrigado Mavis, não sei por que sua resposta não é mais votada, ela funcionou para mim após um longo pânico, frustração e pesquisa no google :) Abrir o arquivo foi a chave, e eu nunca soube ... Obrigado novamente.
thepauljones
38
Não há necessidade das etapas 3 e 4. Elas são substituídas por: -> Vá para Xcode> Preferências> Contas> ID da Apple usado> Exibir detalhes. Pressione o botão de atualização para fazer o download do perfil de provisionamento. Após o download, clique em Concluído. Agora você pode validar e enviá-lo!
CainaSouza #
8
Certifique-se de usar a mesma ID do aplicativo ao criar o perfil de fornecimento e um no XCode, caso contrário ele não vai funcionar ..;)
Cristobal Viedma
5
Mesmo no xcode 5.1.1 eu ainda tinha que reiniciar o xcode para que isso funcionasse. Um pouco manco.
raeldor
2
Passei uma hora porque os documentos oficiais nunca mencionou passo 4.
RJStanford
21

Verifique se você está usando perfis de provisionamento de distribuição, em vez de Desenvolvimento. E a configuração do sinal de código no Xcode é compatível com os perfis de provisionamento de distribuição.

insira a descrição da imagem aqui


fonte
1
1 000 para a única resposta que resolveu o meu problema. Eu não achava que poderia odiar a Apple mais do que antes de passar por esse processo ridículo. Eu estava errado.
precisa saber é o seguinte
Isso também resolveu o meu problema. Meu certificado expirou, então eu naturalmente escolhi um certificado de desenvolvedor pensando que era para distribuição. Certificados de desenvolvedor são bons apenas para testes no seu dispositivo. Vá para "Certificados, identificadores e perfis" e verifique se seus certificados de distribuição são válidos. Eu tinha mais de 10 anos expirado desde que distribuí muitos aplicativos.
Brainware
Uma pequena variação disso: o perfil pode ser para distribuição, mas para distribuição ad-hoc / corporativa e é impossível saber ao visualizar ou editar o certificado. A criação de um novo perfil de provisionamento mostrou essa opção e, em seguida, funcionou conforme o esperado (nomeei o perfil adequadamente para evitar futuras confusões).
Federico
Você não mencionou ao criar App Storeperfil de distribuição e NÃO Ad-Hoc. Eu criei App storeperfil de distribuição e tudo funcionou.
Aleks 28/10
17

O processo de validação não funciona com perfis Ad-hoc. Precisa criar um perfil de provisionamento de distribuição. Não está especificado nas instruções para o teste beta. Eu agonizei o dia todo até perceber.

Absov
fonte
+1000 Em vez de informar você, o XCode falha automaticamente quando você tenta validar com um perfil ad-hoc.
Pier-Luc Gendreau
você tem certeza? Eu criei um perfil de distribuição, mas para ad hoc e ainda o recebo. O que você quer dizer com perfil de distribuição?
Dejell
@Dejel exatamente - existem dois tipos de "Perfil de Distribuição". Eu estava felizmente interagindo com meus testadores, com um perfil chamado "Perfil de distribuição". Criou outro "Perfil de Distribuição da App Store" e escolheu "loja de aplicativos" em uma das opções, e tudo está bem. É uma colisão de nomenclatura! O uso repentino de "Identidade" em vez de perfil ou assinatura ... ehhhh.
David van brink
+2 se eu pudesse. Muito obrigado!
quer
12

Use o Application Loader (Xcode -> Open Developer Tool -> Application Loader).

Também - esta resposta / pergunta também pode ser útil para você: https://stackoverflow.com/a/18914073/730172

Matt
fonte
Como posso validar a versão lá?
Dejell
11

Reiniciar o Xcode resolveu o problema para mim! Reiniciar e / ou limpar resolve 99% de todos os problemas ...

helmesjo
fonte
1
Muito obrigado, reiniciar o código x foi suficiente para mim. Mas a mensagem de erro que você dá, não lhe dá uma pista para tentar isso em tudo ...
Lasse
5

O comentário de @CainaSouza acima funcionou para mim. Eu nem precisei criar novos perfis de provisionamento.

Eu só tinha que ir para o Xcode> Preferências> Contas> (ID da Apple)> Visualizar detalhes e clicar no botão Atualizar. Depois de um ou dois minutos, estava pronto e havia carregado meus perfis de provisionamento. Eu nem precisei selecioná-lo nas opções do meu projeto, ele já havia selecionado o meu gerado mais recentemente.

mbuc91
fonte
1
Eu tentei várias combinações de muitas coisas sugeridas aqui, mas nada funcionou até. Atualizada. Matou o diretório de dados derivados do XCode (/ Users / YourLoginName / Library / Developer / DerivedData) e reiniciou o XCode
nacross
5

Limpe a pasta de criação do produto (com o botão Alt) Reinicie o Xcode

Resolveu o mesmo problema

Tun Beo
fonte
2

Eu tive uma questão semelhante. Descobriu que o identificador de pacote não correspondia ao ID do aplicativo que estava no iTunes Connect - estava em maiúsculas de forma diferente. Corrigido o problema, fazendo com que os identificadores correspondessem.

RH_Apps
fonte
2

Sim, o appID e o identificador do pacote configurável devem corresponder. Lembre-se de que é sensível a maiúsculas e minúsculas. Esse foi o problema para mim.

Chris Lambrou
fonte
2

Atualizei para o Maverick e o Xcode 5 e tive o mesmo problema, apesar de tudo estar ok no Profiles. Criei um novo perfil de distribuição (idêntico ao antigo), adicionei-o atualizando os perfis e o problema foi resolvido sem reconstrução.

Enrique Bernal
fonte
1

A Apple decidiu "desaparecer magicamente" meu perfil de provisionamento de distribuição do site depois de atualizar para um Xcode mais recente, o que também me deu esse problema.

A solução é óbvia apenas depois que eu descobri esse fato!

-Criar novo perfil de provisionamento de distribuição

-Faça o download e instale / Atualize as preferências do Xcode em detalhes da conta

AMAN77
fonte
1

Corrigi esse problema excluindo os perfis antigos de desenvolvimento / distribuição e crie um novo com novos nomes.

heMac
fonte
1

Eu tinha uma incompatibilidade entre o Identificador de pacote no Xcode e o ID do aplicativo no Developer.Apple.Com (certificados, identificadores e perfis). Este post do StackOverflow foi uma grande ajuda para mim. Para mais informações, confira esta postagem no blog . A documentação oficial para o comando touch pode ser encontrada aqui . Eu havia encerrado o Xcode antes de fazer o abaixo. Após a conclusão dos detalhes abaixo e a reabertura do Xcode, meu problema foi resolvido.

Use um editor de texto para atualizar o identificador de pacote configurável para corresponder ao ID do aplicativo. O arquivo Info.plist está localizado:

ProjectName> ProjectName> ProjectName> ProjectName-Info.plist

Você está procurando as seguintes linhas:

<key>CFBundleIdentifier</key>
<string>MyCompany.${PRODUCT_NAME:rfc1034identifier}</string>

Atualize o valor para corresponder ao seu ID do aplicativo, por exemplo:

<string>com.MyCompany</string>

Use o terminal para emitir o comando touch, verifique se você está dentro do diretório listado acima:

touch ProjectName-Info.plist
Tr0yJ
fonte
1

Se você estiver usando o Xcode 5.1 ou superior (o que seria agora), isso me ajudou: Assinatura de código interrompida no Xcode 5.1 + iOS 7.1

A chave é excluir o antigo perfil de provisionamento do seu mac e criar um novo (com um nome diferente?) No site da Apple e fazer o download. Parece que o Xcode 5.1 corrompe o perfil de provisionamento existente e não ajuda, mesmo que você o baixe novamente.

user2995358
fonte
stackoverflow.com/questions/18923095/… Para remover os perfis.
SubstanceMX
1

Minha solução foi ir ao centro de desenvolvimento, encontrar o perfil de provisionamento de distribuição e ele expirou. Então toquei em editar e renovei, baixei, instalei, escolhi o perfil nas configurações de compilação e funcionou.

HTH alguém.

Chris
fonte
1

De todos os problemas de desenvolvimento que enfrentei nos meus mais de 20 anos como desenvolvedor de software, nenhum perdeu tanto tempo quanto o lixo de perfil de assinatura / provisionamento de código no Xcode.

Nesta semana, perdi mais de 8 horas tentando criar uma versão ad-hoc do nosso aplicativo para iPhone. No passado, funcionava: eu podia arquivar, colocar um botão de download em nossa página interna e os usuários podiam instalar nosso aplicativo a partir desta página.

Mas, nesta semana, eu estava enfrentando o mesmo problema "Não há identidades disponíveis", descrito aqui.

Eventualmente, eis o que resolveu o problema para mim:

Quando entrei no site desesperado da Apple Developers, ele mostrou que nossa empresa tinha 2 certificados "Distribuição iOS". Eles eram válidos, suas datas de validade estão dentro de meses e, no aplicativo Keychain Access , os certificados foram instalados e válidos ... sem problemas aqui.

Mas o que corrigiu meu problema foi excluir esses dois certificados, recriar um novo e recriar meu perfil de provisionamento "interno" (como o original agora estava mostrando como inválido, pois usava o antigo certificado "iOS Distribution").

Eu também entrei no aplicativo "Keychain Access" no meu MacBook e excluí todas as chaves do "iOS Distribution".

Depois, baixei os novos certificados e perfis de provisionamento e agora, finalmente, o Xcode relataria que havia uma identidade com a qual eu poderia assinar o código.

Para a equipe de desenvolvimento do Xcode:

Por favor. Conserte isso.

Se um desenvolvedor como eu estiver contra uma parede, incapaz de obter um Perfil de Aprovisionamento válido, o que resultará em um aplicativo para download, que falhará sempre na mensagem "O aplicativo não pôde ser baixado no momento". NÃO Permite que a função Arquivar seja usada.

Em vez disso, informe ao usuário qual é o problema. Ajude-os a resolvê-lo, em vez de seguir os movimentos, e felizmente permitindo que eles criem arquivos que nunca serão úteis.

E se uma instalação Ad-Hoc for inválida, coloque algo no Log para explicar o que deu errado e torne isso acessível no Xcode. Atualmente, a mensagem "O aplicativo não pode ser baixado no momento " é inútil e enganosa.

Uma última coisa (se isso ajudar):

Nossa empresa acidentalmente deixou sua licença do Developer Enterprise Program expirar no mês passado. Renovamos então, tudo estava aparentemente bem novamente, mas talvez, nos bastidores, isso tenha atrapalhado nosso certificado de "Distribuição iOS"? E talvez não. Do ponto de vista do site da Apple, tudo estava bem.

Mike Gledhill
fonte
0

Meu problema foi que eu não tinha none.myApp no ​​meu Bundle Identifier, enquanto no AppID eu tinha com.myApp.

Isso me deixou louco por horas.

tsuz
fonte
0

Encontrei este problema hoje e parece estar relacionado ao rosto que o perfil começou com um número. Excluí o perfil e o recriei exatamente da mesma maneira (depois de várias outras etapas de solução de problemas encontradas no SO), EXCETO desta vez, comecei com uma palavra em vez de um número. Coincidência? Não tenho certeza, mas vale a pena tentar.

MikeMilzz
fonte
0

Tinha isso ontem e não conseguia descobrir, não importa o que eu fiz! Para resolver o problema, fui ao Projeto e ao Destino no Xcode e, em assinatura de código, escolhi

  • Identidade de assinatura de código: não codifique
  • Perfil de provisionamento: nenhum

Crie e, em seguida, Produto> Arquivar, e agora o Organizer escolheu as identidades e perfis de assinatura de código corretos para permitir que ele chegue à etapa de validação. Woohoo!

Joseph Cheek
fonte
0

Aconteceu comigo após a atualização do Xcode.

Eu consertei fazendo o seguinte

  • altere o sinal para "sem sinal"

  • reinicie o Xcode

  • coloque-o no sinal correto

  • arquivar novamente a compilação

Espero que ajude

Adriano Spadoni
fonte
0

Documentação da Apple

"Se o Xcode não encontrar identidades de assinatura, uma caixa de diálogo informando" Nenhuma identidade está disponível para assinatura "será exibida. Verifique se você possui um certificado de distribuição e um perfil de provisionamento ad hoc antes de continuar.

Se o seu perfil de provisionamento ad hoc não aparecer no menu pop-up Perfil de provisionamento ao criar o pacote da App Store do iOS, atualize os perfis no Xcode, conforme descrito em "Atualizando perfis de provisionamento no Xcode."

ed_is_my_name
fonte
0

No meu caso, o provisionamento ad-hoc que eu queria definir não era selecionável em Assinatura de código nas Configurações de compilação . No entanto, criei e baixei o provisionamento adhoc da loja do desenvolvedor. As respostas mencionadas aqui não funcionaram para mim. O botão Corrigir problema na guia Geral solucionou o problema baixando o arquivo de provisionamento adhoc necessário por si só.

zeeawan
fonte
0

Criando um novo certificado, o Perfil no centro de desenvolvimento da Apple não funcionou para mim! Tentei editar um perfil / certificados, fazer o download novamente e clicar duas vezes para instalar no KeyChain, mas ainda não funcionou. Reiniciei o XCode (versão 7 e Mac no El Capitan), reiniciei o Mac, mas ainda não funcionou!

O que funcionou para mim é: XCode -> Preferências -> Contas - Em seguida, apaguei o ID da Apple. Desligue o meu Mac e reinicie-o. Iniciei meu XCode, adicionei o ID Apple, fui ver os detalhes nos IDs da Apple e baixei o perfil provisório novamente e só então ele começou a funcionar!

Mahfuz
fonte
-3

Reiniciar resolveu meu problema. Eu tenho um novo mac e tentei baixar os perfis, que deveriam ter sido transferidos de qualquer maneira. reiniciar resolveu.

user3550353
fonte
Sua resposta não fornece nenhuma informação que não seja fornecida por uma das muitas outras respostas a esta pergunta.
Xaver Kapeller