Tentei reconstruir um aplicativo que estava funcionando ontem. Recebi a mensagem de que um perfil havia expirado, então eu o removi do iPod e do iTunes. Quando escolhi um novo perfil (um com um * no identificador), agora recebo um erro:
Erro de sinal de código: Não foi possível encontrar o perfil de provisionamento (cadeia longa).
o que estou perdendo? Examinei as questões relacionadas e ainda não vi esse cenário.
fonte
Aqui está uma solução mais simples que funcionou para mim e que não requer a edição manual do arquivo do projeto:
No XCode, no painel "Grupos e arquivos", expanda "Destinos" e clique duas vezes no destino do seu aplicativo. Isso abre o painel Informações para o destino. Na seção "Compilar", verifique a seção "assinatura de código" quanto a perfis antigos e substitua pelo correto.
Observe que isso é diferente de clicar duas vezes no ícone do seu projeto e alterar o perfil a partir daí. Bastante surpreendente :)
Ori
fonte
Propriedades do projeto e destinos -> "Seu perfil de provisionamento" -> OK
Tudo funciona de novo!
fonte
Concordo com a resposta de Brad, de que você pode resolver esse problema editando seu destino / projeto manualmente, excluindo quaisquer linhas como esta:
No entanto, no Xcode 4.2 e posterior, existe uma maneira muito mais fácil de acessar esse texto e selecioná-lo e excluí-lo. No Navegador de projeto à esquerda, selecione seu projeto (a linha superior do Navegador de projeto). Agora basta escolher Exibir> Editor de Versão> Mostrar Editor de Versão. Isso exibe seu projeto como texto e você pode procurar por PROVISIONING e excluir a linha problemática, bem ali no painel do editor do Xcode.
fonte
Acabei de ver uma variação sobre esse problema: Entrei no arquivo project.pbxproj conforme as notas de Brad Smith acima, exceto que neste caso todas as linhas PROVISIONING_PROFILE pareciam estar corretas, sem ocorrência da cadeia de perfil "ruim" que o XCode não conseguiu. encontre.
No entanto, a correção foi a mesma: excluir TODAS as linhas PROVISIONING_PROFILE em project.pbxproj, mesmo que parecessem "boas" em teoria, e reabrir o projeto no XCode.
fonte
Para obter a solução de Brad inteiramente no Terminal, use estes comandos
cd [Xcode project parent]
vi [Xcode project name].xcodeproj/project.pbxproj
/[offending provisioning profile] [Enter]
dd
- excluir a linha inteirafonte
No meu caso, o problema foi resolvido abrindo Window -> Organizer, selecionando meu dispositivo e removendo o antigo Perfil de provisionamento no painel "Provisioning" à direita. O antigo já estava marcado com um símbolo "x" vermelho, mas o iPhone ainda o estava usando.
Além desse perfil, também estava aparecendo o novo (com o mesmo nome) e, depois de simplesmente reiniciar o aplicativo, eu o executava sem problemas.
fonte
Apenas passei uma hora fazendo isso e com a ajuda dos conselhos de Brad e algumas mudanças adicionais tudo funcionou.
Eu fiz isso usando o seguinte: 10.7.3, Xcode 4.3.2, iOS 5.1 btw.
1) Clique com o botão direito do mouse
myapp.xcodeproj
e selecione o conteúdo da embalagem2) abra
project.pbxproj
com um editor de texto (não recomende o textedit, pois isso pode estragar a formatação)3) Role todo o caminho até encontrar
/* Begin XCBuildConfiguration section */
4) Observe que você possui uma seção de depuração e liberação
5) Na seção de lançamento, dê uma olhada
CODE_SIGN_IDENTITY
e"CODE_SIGN_IDENTITY[sdk=iphoneos*]"
deve ser algo como isto:6) Dê uma olhada
PROVISIONING_PROFILE
e"PROVISIONING_PROFILE[sdk=iphoneos*]"
eles devem ficar assim:Isso deve corresponder ao seu perfil de provisionamento no Xcode. Para verificar se eles correspondem, abra Xcode> Janela> Organizador> Dispositivos> Perfis de provisionamento> Clique com o botão direito do mouse no perfil> Revelar no Finder> O nome do arquivo da provisão .mobile é o seu ID de perfil.
7) Role para baixo
project.pbxproj
e encontre uma segunda instância da seção de liberação. A segunda instância da seção de lançamento deve terminar com um comentário dizendo/* End XCBuildConfiguration section */
8) ter certeza de que a segunda seção corresponde a primeira seção de modo que
CODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*]
, ePROVISIONING_PROFILE
estão todos preenchidos.fonte
Uma sugestão que eu faço desde que ninguém o tenha dito: FAVOR FAVOR, faça um backup de todo o seu arquivo .xcodeproj ANTES de começar a modificar o conteúdo. Estragar o arquivo do projeto e não ter backup resultará em uma experiência muito desagradável.
Ser capaz de sair de uma edição pode ser uma dádiva de Deus.
fonte
Acabei de encontrar esse problema no meu XCode4. Para corrigi-lo, você precisa colocar todas as disposições corretas nas configurações de Debug e Release.
Eu estava tentando enviar (arquivando) meu aplicativo. Então, apenas altero as provisões de depuração para "Não codifique o sinal" e a provisão de lançamento para a provisão de appstore do meu aplicativo.
Isso corrige e permite arquivar normalmente. Espero que ajude.
fonte
Selecione as linhas na assinatura de código que estão em branco em Qualquer iOS SDK e selecione o certificado correto.
fonte
A solução de Brad Smith funcionou para mim, mas também tive que remover o campo CODE_SIGN_IDENTITY para fazê-lo funcionar.
fonte
Infelizmente, essa abordagem não funcionou para mim. Mas aqui está uma correção que funcionou para mim (para que isso funcione, você precisa de um arquivo de projeto em funcionamento no Subversion):
Voltei a uma versão funcional do meu arquivo de projeto. Como não é possível reverter com o Xcode ( Onde está a opção 'Revert' no Source Control do Xcode 4? ) - usei o Tortoise, minha máquina Windows e este Tutorial ( http://tortoisesvn.net/docs/nightly/TortoiseSVN_en /tsvn-howto-rollback.html ) para reverter para um arquivo de projeto mais antigo.
Como o Tutorial não funcionou para mim, eu apenas usei o Tortoise para salvar a revisão de trabalho do meu arquivo de projeto em um pendrive para portá-lo no meu Mac. Depois disso, substituí o novo arquivo de projeto quebrado pelo antigo, limpo e funcionou como um encanto!
fonte
Eu estava com problemas porque atualizei meu perfil de provisionamento AdHoc com alguns novos dispositivos para uso no TestFlight. Supõe-se que isso esteja acontecendo porque o xcode tem uma referência antiga ao seu perfil de aprovisionamento nas configurações de criação de design de código para o projeto ou nos destinos. A maneira que eu consertei o meu era:
fonte
Pelo menos no Xcode 5, é isso que resolveu o problema para mim:
Em perfil de provisionamento, selecione o perfil de provisionamento incorreto e selecione um perfil de provisionamento válido no menu suspenso.
fonte
Você pode remover a referência antiga do arquivo de provisionamento. Depois, importe o novo Perfil de fornecimento e selecione o construtor Xcode.
fonte