O aplicativo funciona bem no simulador, constrói e executa.
Quando eu conecto meu dispositivo (iPhone 3GS executando iOS 4.3) e viso o iPhone, o resultado é "Falha na construção" com "Sem problemas".
Olhando para a janela de resultados de construção, tudo está verde, tem uma marca de seleção, incluindo o aviso de falha de construção .
Expandir as transcrições não mostra erros.
Não posso excluir a possibilidade de um erro de assinatura ou provisionamento, mas eles me deram esses erros, eu os resolvi e agora não está me dando nenhum erro ou problema, apenas "Falha na compilação; sem problemas"
- De que forma a construção pode falhar sem problemas?
- Existe uma maneira de observar a saída da compilação para ver se encontro o motivo da falha sem problemas?
- Existe saída de compilação produzida além da lista de problemas?
- Não vejo na janela de compilação onde ele tenta carregar o aplicativo no meu dispositivo - essa saída está em outro lugar?
Respostas:
Recebo 'Build Failed' sem erros no navegador de problemas (apenas avisos). No entanto, o navegador de relatórios exibiu os erros corretamente.
fonte
Você está usando "sublinhado" e "espaço", etc. para o identificador do pacote?
Você está usando .m em vez de .h em uma de suas importações? #import "Photo.h"
fonte
A primeira coisa que tentarei é limpar tudo (menu Produto / Limpar) e compilar novamente. Você já deve ter tentado.
Você encontrará (e poderá observar durante a construção) a saída completa da construção no Log Navigator. Esse é o ícone mais à direita dos pequenos ícones logo abaixo dos botões Executar e Construir.
Os arquivos de log de construção (e depuração) são encontrados no diretório / Users / you / Library / Developer / XCode / DerviedData / YourProject-abcdefg / Logs / Build (e ../Debug respectivamente).
Não acho que haja saída para a instalação do seu aplicativo no dispositivo.
fonte
Existe um espaço no nome do produto de seu destino?
Eu sei que nas versões anteriores do Xcode isso não era problema, mas parece que eles quebraram algo no Xcode 4, então ele não funciona mais (eu suspeito que tenha algo a ver com o absurdo do caminho DerivedData). Você pode adicionar um espaço ao nome do seu aplicativo conforme ele aparece no Launchpad do seu iDevice configurando a
CFBundleDisplayName
chave emInfo.plist
para algo diferente de${PRODUCT_NAME}
.fonte
Em uma das listas de e-mail locais do Cocoa Heads, fui encorajado a tentar um pequeno projeto de amostra padrão - algo que deveria ter feito no início para garantir que meu provisionamento e assinatura funcionassem. Ele foi construído e executado no meu dispositivo sem problemas, então todos os sinais apontam para um problema com meu código ou projeto.
Vou jogar coisas do projeto existente no novo projeto de amostra e, se ele falhar de maneira semelhante, devo ser capaz de restringir o problema a uma região de interesse menor.
Eu adicionei a principal funcionalidade do aplicativo em um novo projeto e está funcionando bem. A única coisa que fiz de maneira diferente desta vez foi não configurar um binário universal (apenas iPhone agora) e desligar tudo, exceto a orientação retrato. Pelo que eu posso dizer, tudo o mais é o mesmo, embora se eu decidir examinar isso mais tarde, irei comparar os arquivos do projeto e ver o que mais pode ser diferente.
Então, a solução para mim foi começar um novo projeto, portar todas as funcionalidades do projeto antigo para o novo.
Pode ser que recriar o alvo, como Paul sugere em outra resposta, também consertaria, mas com um projeto tão simples, reiniciar do zero foi fácil para mim.
fonte
Eu tive o mesmo problema e, como alguém sugeriu, isso tinha a ver com o identificador do pacote. Eu tinha mudado recentemente, como um teste, e colocado um asterisco nele. Eu consertei isso e tive que limpar o alvo, e então funcionou.
fonte
Isso aconteceu comigo depois de excluir um alvo não utilizado. Parece que o Xcode colocou um espaço no CFBundleIdentifier do meu destino restante (com.company.etc). Tive que editar Info.plist com um editor de texto externo para removê-lo e funcionou bem.
fonte
Eu estava apenas brincando com a adição de vários projetos dentro de um espaço de trabalho e tive esse problema. Eu tenho uma biblioteca simples em um dos projetos e estava construindo e adicionei um alvo baseado em janela iOS para testá-lo. Excluí o primeiro destino que fiz para renomeá-lo. Depois de ler isso, tentei remover o xcuserdata de dentro do pacote .xcodeproj e isso resolveu meu problema. Espero que isto ajude alguém. Rodando o Xcode 4.1 no OS X 10.7.1.
fonte
Depois de passar por todas essas respostas, tive exatamente o mesmo problema, mas algo diferente resolveu para mim.
O problema:
A compilação falhou sem problemas após a refatoração. (Renomeou uma classe usando Editar -> Refatorar -> Renomear).
A solução mais idiota de todos os tempos :
Vá refatorar (renomear) outra coisa (-_- "). Depois de fazer isso, o erro foi que o Xcode falhou ao renomear todos os arquivos apropriados e não mostrou erros. Então, após outra refatoração, os erros do refatorador anterior apareceram .
fonte
Eu tenho esse mesmo problema. Eu estava tentando consertar um xcode travou. Eu o reabri e funcionou muito bem. Talvez eu tenha tido sorte ou algo assim? Seja como for, eu realmente não me importo com o que havia de errado com ele, desde que funcione agora
fonte
Se você alterou o identificador do pacote e limpou o projeto, mas também não funcionou, tente esvaziar o diretório / Users / YOUR_USERNAME / Library / Developer / Xcode / DerivedData.
Funciona para mim.
fonte
Para mim, o build falhou sem exibir nenhum erro no Issue Navigator. Porém, no Log Navigator, naquela sessão de build, pude ver o erro. No meu caso, o erro foi uma constante não declarada. Importei o arquivo de cabeçalho necessário e o problema foi resolvido. Não tenho certeza porque esse erro não apareceu no Issue Navigator.
Tentei reproduzir esse comportamento alterando deliberadamente o nome de outra variável. Desta vez, o erro foi exibido no Issue Navigator. Portanto, ainda não tenho certeza sobre por que o erro anterior não apareceria no Issue Navigator.
Espero que isto ajude.
fonte
As soluções acima não funcionam para mim.
Minha solução é mover o projeto para outra pasta.
Os erros de compilação aparecem como normalmente.
fonte
Você limpou sua pasta de construção? Vá para o menu Produto, mantenha pressionada a tecla Opção e selecione "Limpar pasta de compilação ..."
fonte
Eu sei qual é o problema: Em Info.plist -> Identificador de Pacote: você não pode usar '_'. Por exemplo, com.mycompany.My_app não é válido, mas com.mycompany.My-app OK.
fonte
Tive exatamente o mesmo problema ao tentar compilar um projeto existente no xcode 4 e quase passei pela dor de recriar o projeto.
No entanto, em uma última tentativa, substituí o arquivo info.plist por um recém-criado que incluía as tags adicionais para "tipos de documentos", "tipos de url", "UTIs de tipo exportado" e "UTIs de tipo importado"
Isso pareceu funcionar e foi uma solução surpreendentemente simples para meu projeto.
fonte
Isso aconteceu comigo com meu alvo UnitTest. Estava trabalhando e depois parou. Eu tinha esquecido que tinha acabado de deletar um .h / .m no sistema de arquivos e não removê-lo do arquivo de projeto, porém o XCode não relatou isso.
Eu descobri executando o projeto na linha de comando, que me mostrou o erro:
Execute-o na pasta em que está seu arquivo de projeto e substitua UnitTest pelo seu destino - ou simplesmente não passe um destino para construir o destino padrão.
fonte
Eu também tive esse problema, mas a causa era outra:
Eu tenho um espaço de trabalho com um projeto nele. Neste projeto eu uso um framework que está incluído adicionando seu projeto Xcode ao meu projeto. Importei o arquivo de cabeçalho do framework no meu cabeçalho de prefixo (.pch). Isso foi estúpido.
A solução foi remover o #import do arquivo de cabeçalho da estrutura do meu arquivo de cabeçalho de prefixo e adicioná-lo apenas onde necessário.
fonte
O mesmo problema aqui ao construir para o dispositivo. A compilação falhou, mas meu log está todo marcado em verde. Limpar / excluir a pasta de compilação não corrige isso. Li em outro lugar que alguém resolveu esse problema excluindo e recriando o destino, mas ainda não descobri completamente como fazer isso no XCode 4.
Minha solução temporária foi baixar e instalar o XCode 3.2.6 c / iOS 4.3. Não percebi que a Apple também lançou uma versão do XCode 3 que inclui o iOS 4.3, permitindo que você adie a atualização para o XCode 4. Apresentei um relatório de bug à Apple sobre o problema Build Failed.
atualização da Apple:
Mudei de um sublinhado para um travessão e resolvi o problema.
fonte
A mesma coisa aconteceu comigo por uma causa diferente.
Removi get-task-allow do meu arquivo Entitlements.plist, deixando um plist vazio. As configurações de compilação ainda tinham o arquivo Entitlements.plist especificado como meu arquivo Entitlements. Optei por executar usando minhas configurações de compilação Ad-Hoc no dispositivo iOS com meu iPhone conectado e vi o comportamento descrito neste bug. Adicionar get-task-allow consertou.
fonte
parece que existem muitas causas possíveis para este problema. O meu acabou por ser aquele
Meu destino foi definido para usar um perfil de provisionamento inexistente.
Defini meu projeto para usar um novo perfil e excluí o antigo. Não percebi que o destino tinha sua própria configuração de perfil de provisionamento, que ainda estava definida para o perfil antigo (agora excluído).
fonte
Só para adicionar outra resposta depois de tentar TODAS as anteriores sem sucesso: Tive que reiniciar o MacBook, não apenas fechar o XCode, e funcionou para mim. Acabou com o XCode mostrando alguns erros no Localizable.strings que não mostrava antes.
espero que ajude
fonte
Limpo todos os espaços nos esquemas de projeto em xcschemes e isso resolve o problema. F *** ing Apple :( AppCode ROCKS!
fonte
consulte: http://developer.apple.com/library/ios/#DOCUMENTATION/FileManagement/Conceptual/understanding_utis/understand_utis_conc/understand_utis_conc.html
fonte
Não tive problemas com o nome do pacote, então as soluções sugeridas não funcionaram para mim. Finalmente, configurei Não codifique a assinatura para a construção, fechei o projeto, removi o provisionamento no organizador, baixei o novo provisionamento e adicionei-o ao organizador, em seguida, configurei-o para a construção. Funcionou.
fonte
Esta não é uma resposta técnica, mas uma resposta de "erro do usuário" que provavelmente não se aplica à sua situação. Aconteceu comigo e minha pesquisa me levou a este Q&A sem sucesso --- até que percebi meu erro. Eu tinha um filtro definido no Issue Navigator que não correspondia a nada que estava sendo relatado como um problema. Quando limpei o filtro, os problemas foram exibidos.
Observe que os sintomas são os mesmos que você estava perguntando e não tenho ideia de quando defini esse filtro (ele deve ser herdado das outras visualizações de navegação), pois não precisaria de nenhuma filtragem na lista curta.
fonte
Eu só tive um problema semelhante. Não foi possível encontrar um erro em qualquer lugar. Excluí todos os meus perfis de provisionamento e adicionei novos.
Em seguida, tentei criar outro aplicativo de teste para meu dispositivo e recebi esta mensagem de erro:
Erro de sinal de código: a identidade do certificado 'iPhone Developer: xxxxxx' aparece mais de uma vez nas chaves. A ferramenta de codesign requer que haja apenas um.
Então entrei no Keychain, encontrei alguns certificados expirados com o mesmo nome e os excluí, e isso resolveu o problema.
Bastante aleatório, mas talvez se você tentar construir outro aplicativo para o dispositivo como eu fiz, você pode ter a sorte de receber uma mensagem de erro, como eu, para ajudar a diagnosticar o problema.
fonte
Vá para o Organizer no xcode. E na guia Projeto, exclua esse projeto. Deixe o xcode reconstruir os dados derivados novamente para corrigir meu problema.
fonte
Eu enfrentei um problema semelhante no XCode4.5 e, enquanto trabalhava no meu aplicativo, o XCode travou repentinamente.
Depois de pesquisar por horas, descobri que um dos meus arquivos no meu aplicativo foi excluído quando o xcode travou.
Restaurei o arquivo da Lixeira e o problema foi resolvido.
fonte
Eu estava programando um aplicativo Mac OS X sem code-signing . Quando habilitei o sandbox na seção "Direitos", o codesigning foi ativado automaticamente e não consegui fazer uma nova compilação.
fonte