Construir aplicativo com Xcode 4 - sempre mostra algum erro sobre a imagem PNG


88

Quando eu construo meu aplicativo com o Xcode 4, ele sempre mostra esta mensagem de erro:

CopyPNGFile /Users/michaelchen/Library/Developer/Xcode/DerivedData/iMusicBox-boeawugacmhacbdtyymnprzfobyq/ArchiveIntermediates/iMusicBox/InstallationBuildProductsLocation/Applications/iMusicBox.app/list_cell.png Images/list_cell.png
    cd /Volumes/WORK/Works/iMusicBox
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    "/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS Build System Support.xcplugin/Contents/Resources/copypng" -compress "" /Volumes/WORK/Works/iMusicBox/Images/list_cell.png /Users/michaelchen/Library/Developer/Xcode/DerivedData/iMusicBox-boeawugacmhacbdtyymnprzfobyq/ArchiveIntermediates/iMusicBox/InstallationBuildProductsLocation/Applications/iMusicBox.app/list_cell.png

Ao verificar alfas em /Volumes/WORK/Works/iMusicBox/Images/list_cell.png, pngcrush detectou um erro de libpng: Dados de imagem insuficientes

mas está tudo bem com o Xcode 3.2 - por quê?

Respostas:


191

Encontrei!!

Você deve salvar seus arquivos PNG como NOT INTERLACED . Tente abrir o arquivo no photoshop (ou similar), salve como e selecione "Não entrelaçado".

Está funcionando no meu caso

espero que isto ajude


Eva, você está certa, obrigado! Eu exporto da web no pixelmator e está tudo bem.
— Michael Chen

6
homem! graças a Deus! e você! Eu estava prestes a ir para o telhado para jogar meu laptop estúpido de lá quando vi essa resposta e funcionou. Muito obrigado. Eu acho que é hora de dormir agora.
— Sahil Chaudhary de

7
No meu caso, descobri que eu tinha várias referências ao mesmo arquivo no Xcode (isso provavelmente significa que ele tentou processar o arquivo mais de uma vez?) A remoção da referência duplicada removeu o problema.
— Peter Johnson

Salvei meu png como NÃO INTERLACED, ainda recebo este erro ao construir pela primeira vez, mas na segunda vez que eu construí, este erro desapareceu ...
— Jing

23

Isso acontece quando você tem várias entradas para o arquivo de imagem em seu arquivo de projeto. Não tenho ideia do porquê, mas apenas removi todas as entradas, recarreguei o projeto e adicionei o arquivo novamente.


Hmm, você tem certeza que recebeu a mesma mensagem do compilador por ter dupletas?
— brainray

8
Esse era o meu problema também. Minhas imagens de lançamento estavam causando problemas. Por padrão, o XCode adicionou imagens pretas em minha pasta Supporting Files, então eu adicionei mais, mas as pretas não foram embora. Se o suporte de imagem de inicialização for preto, isso significa que há uma imagem em seu projeto para ele. Remova as imagens pretas e coloque as corretas. Fiz isso e agora está tudo bem de novo!
— dbDev

15

Verifique se você não tem entradas duplicadas na "Fase de construção" do destino -> "Copiar recursos do pacote"


para quem não tem nem imagens no projeto ... essa solução foi a única de todas as respostas que funcionou. Não tenho imagens, mas estou usando o SDK do Facebook e tive que excluir tudo o que estava vermelho em Build Phases-> Copy Bundle Resources.
— Jeff Grimes

9

Pode ser a configuração "Compactar arquivos PNG" (na seção Empacotamento das Configurações de compilação).

Resolvi esse erro mudando para "Não".


6

No meu caso, descobri que meu png corrompido não abria no photoshop. Abri na visualização, salvei como psd e depois salvei novamente do photoshop (salvar como -> png -> não entrelaçado). Compila bem agora no xcode 4.


5

Tente encontrar e salvar novamente esses arquivos * .PNG usando "Visualizar" , para ser exato: Arquivo - Exportar ... - "salvar como PNG" . Parece-me que isso acontece quando você salva a imagem no Photoshop com o modo "Salvar para a Web" e depois essa imagem será salva com compressão especial (LZW) . Isso é tudo, boa sorte!


3

Parece que seu arquivo PNG list_cell.pngestá corrompido. O Xcode 4 faz mais verificações do que o Xcode 3 em muitas áreas e revela problemas que estão à espreita em seu projeto o tempo todo.

Você tentou abrir seu arquivo PNG em um editor de imagens e salvá-lo novamente?


1
Sim, já abri no Preview, está OK. e tento salvá-lo novamente, mas o erro ainda aparece.
— Michael Chen

Não abra apenas na visualização. Ele também pode tentar contornar os erros na imagem. Abra-o com um aplicativo que pode editar imagens e armazenar uma nova versão da imagem.
— Codo

3

No meu caso, resolvi o problema removendo a "tecla de espaço" em branco na pasta / nome do arquivo.

Espero que isso funcione para alguém também.


2

Os meus não estavam entrelaçados, mas continuava recebendo erros estranhos do pngcrush. Eventualmente, eu apaguei os arquivos não apenas do disco, mas através do XCode. Eu os adicionei de volta um a um, arrastando e soltando no XCode, construindo após cada um, esperando encontrar um que tivesse um problema. Eu nunca fiz. Minha conclusão é que você realmente precisa manipular os arquivos do XCode e não o sistema de arquivos.


2

no meu caso com o xcode 4.5 o problema é resolvido dando permissão com o terminal

chmod -R + rw / yourprojectpath / yourprojectfolder

esta talvez não seja a melhor solução por causa do bloqueio de arquivos com compartilhamento de arquivos. Mas servirá se você estiver com pressa.


2

Tive que remover as referências a PNGs e adicioná-las ao projeto novamente. Alguém tem uma solução melhor?


1

Tive que remover os arquivos png e ir para Targets -> AppName -> Build Phases -> Bundle Resources e remover os arquivos de lá também.


1

Eu tenho o mesmo erro. Acabou meus pngs onde realmente jpeg. O XCode os mostrou corretamente, mas um dispositivo iOS não. Resolvido salvando o jpg como png.


1

Este erro ocorre porque você tem uma imagem nos recursos com menos de 5 pixels de largura ou altura e está tentando redimensionar essa imagem. Defina todas as imagens com um mínimo de 5 pixels e o erro desaparecerá.


Isso é o que aconteceu comigo, isso consertou.
— Aço Reciclado de

1

Siga os passos:

 1. Take an image. 

 2. Rename it to the showing error png's name. 

 3. Drag it back to the Xcode.

A resposta deve ser mais descritiva
— Nimit Dudani

0

No meu caso, tive que remover todos os arquivos PNG da pasta e, em seguida, adicionar os arquivos novamente sem arrastar e soltar as imagens na IU do Xcode (em Launch Images). O último foi fundamental no meu caso, primeiro adicionar os arquivos à pasta e, em seguida, arrastá-los para a IU de alguma forma, causaria uma duplicata que estragou tudo. Tente fazer isso se nada mais estiver funcionando para você.


0

Eu tive o mesmo problema. Resolvi removendo as fotos duplicadas. Verifique em pastas diferentes. Esse foi o meu problema.


0

Resolvi esse erro, ele aparece quando você renomeia as imagens após colocar no projeto, então para resolver esse problema primeiro deve deletar as imagens atuais, renomear os arquivos do finder e depois copiar essas imagens para o projeto.


0

Pode ser te ajudar. Verifique a Alpha Channelpropriedade conforme mostrado na captura de tela anexada. Deveria ser YESse for NO.

insira a descrição da imagem aqui


0

Pode ser te ajudar. Verifique a Alpha Channelpropriedade conforme mostrado na captura de tela anexada. Deveria ser YESse for NO.

insira a descrição da imagem aqui


0

Eva Madrazo postou a resposta certa (pelo menos para problemas com PNGs entrelaçados), mas para aqueles que têm esse problema com um monte de imagens como eu, você pode usar o mogrify recursivamente para desentrelaçar cada arquivo de uma vez.

find ./ -name "*.png" -exec mogrify -interlace none {} \;

A alteração do método de entrelaçamento não parece afetar a qualidade da imagem, mas afeta o tamanho da imagem, nenhum resultará em uma imagem menor.

O Mogrify vem com o ImageMagick e você pode instalá-lo com o homebrew.


0

Erro:

Durante a leitura de / Volumes / Mac OS / RDC / Workpot / RestApp / RestApp / default1024_768.png, pngcrush detectou um erro de libpng: Não é um arquivo PNG ..

Solução:

  1. Abri o arquivo "default1024_768" no PaintBrush ferramenta e arquivo saveAs PNG com o mesmo nome.
  2. Substituído o arquivo Icon no projeto Xcode.
  3. Limpar -> Construir

Isso é todo o seu trabalho como charme

Espero que isso ajude alguém.

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.