Créer une application avec Xcode 4 - il affiche toujours une erreur sur l'image PNG


88

Lorsque je crée mon application avec Xcode 4, il affiche toujours ce message d'erreur:

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

Lors de la vérification des alphas dans /Volumes/WORK/Works/iMusicBox/Images/list_cell.png pngcrush a détecté une erreur libpng: pas assez de données d'image

mais c'est OK avec Xcode 3.2 - pourquoi?

Réponses:


191

Je l'ai trouvé !!

Vous devez enregistrer vos fichiers PNG comme NON INTERLACÉS . Essayez d'ouvrir le fichier dans Photoshop (ou similaire), enregistrez-le sous et sélectionnez "Non entrelacé".

Ça marche dans mon cas

J'espère que cela t'aides


Eva, tu as raison, merci! J'exporte du Web dans pixelmator et c'est OK.
Michael Chen

6
homme! Dieu merci! et tu! J'étais sur le point d'aller sur le toit pour jeter mon stupide ordinateur portable à partir de là quand j'ai vu cette réponse et cela a fonctionné. Merci beaucoup. Je suppose qu'il est temps de dormir maintenant.
Sahil Chaudhary

7
Dans mon cas, il s'est avéré que j'avais plusieurs références au même fichier dans Xcode (cela signifiait probablement qu'il avait essayé de traiter le fichier plus d'une fois?) La suppression de la référence en double a supprimé le problème.
Peter Johnson

J'ai enregistré mon png comme NON INTERLACÉ, j'ai toujours cette erreur lors de la première construction, mais la deuxième fois que je construis, cette erreur a disparu ...
Jing

23

Cela se produit lorsque vous avez plusieurs entrées pour le fichier image dans votre fichier de projet. Je ne sais pas pourquoi mais j'ai simplement supprimé toutes les entrées, rechargé le projet et ajouté à nouveau le fichier.


Hmm, êtes-vous sûr que vous avez eu le même message de compilateur d'avoir des doublettes?
brainray

8
C'était aussi mon problème. Mes images de lancement causaient des problèmes. Par défaut, XCode avait ajouté des images noires dans mon dossier Fichiers de support, puis j'en ai ajouté d'autres, mais les noires n'ont pas disparu. Si le support d'image de lancement est noir, cela signifie qu'il y a une image dans votre projet pour lui. Retirez les images noires et apportez les vôtres. J'ai fait ça et maintenant tout va bien à nouveau!
dbDev

15

Vérifiez que vous n'avez pas d'entrées en double dans la "Phase de construction" de la cible -> "Copier les ressources du bundle"


pour tous ceux qui n'ont même pas d'images dans leur projet ... cette solution était la seule de toutes les réponses qui fonctionnait. Je n'ai pas d'images, mais j'utilise le SDK Facebook et j'ai dû supprimer tout ce qui était rouge dans Build Phases-> Copy Bundle Resources.
Jeff Grimes

9

Il peut s'agir du paramètre "Compresser les fichiers PNG" (de la section Empaquetage des paramètres de construction).

J'ai résolu cette erreur en le basculant sur "Non".


6

Dans mon cas, j'ai découvert que mon png corrompu ne s'ouvrirait pas dans Photoshop. J'ai ouvert en aperçu, enregistré sous psd, puis à nouveau enregistré à partir de Photoshop (enregistrer sous -> png -> non entrelacé). Compile bien maintenant dans xcode 4.


5

Essayez de trouver et de réenregistrer ces fichiers * .PNG en utilisant "Aperçu" , pour être exact: Fichier - Exporter ... - "enregistrer au format PNG" . Il me semble que cela se produit lorsque vous enregistrez une image dans Photoshop avec le mode "Enregistrer pour le Web" et après cette image sera enregistrée avec une compression spéciale (LZW) . C'est tout, bonne chance!


3

Il ressemble à votre fichier PNG list_cell.png est corrompu. Xcode 4 effectue plus de vérifications que Xcode 3 dans de nombreux domaines et révèle des problèmes qui se cachent constamment dans votre projet.

Avez-vous essayé d'ouvrir votre fichier PNG dans un éditeur d'image et de l'enregistrer à nouveau?


1
Oui, je l'ouvre déjà dans Aperçu, c'est OK. et j'essaye de l'enregistrer à nouveau mais l'erreur s'affiche toujours.
Michael Chen

Ne l'ouvrez pas simplement dans Aperçu. Il peut également essayer de contourner les erreurs de l'image. Ouvrez-le avec une application qui peut éditer des images et stocker une nouvelle version de l'image.
Codo

3

Dans mon cas, j'ai résolu le problème en supprimant la "clé espace" vide dans le dossier / nom de fichier.

J'espère que cela fonctionne aussi pour quelqu'un.


2

Les miens n'étaient pas entrelacés mais j'ai continué à recevoir des erreurs étranges de pngcrush. Finalement, j'ai supprimé les fichiers non seulement sur le disque, mais via XCode. Je les ai rajoutés un par un par drang-and-drop dans XCode, en construisant après chacun, en m'attendant à en toucher un qui avait un problème. J'ai jamais fait. Ma conclusion est que vous devez vraiment manipuler les fichiers de XCode et pas du tout le système de fichiers.


2

dans mon cas avec xcode 4.5, le problème est résolu par l'autorisation donnée avec le terminal

chmod -R + rw / yourprojectpath / yourprojectfolder

ce n'est peut-être pas la meilleure solution en raison du verrouillage des fichiers avec le partage de fichiers. Mais fera l'affaire si vous êtes pressé.


2

J'ai dû supprimer les références aux PNG et les ajouter à nouveau au projet. Quelqu'un a une meilleure solution?


1

J'ai dû supprimer les fichiers png, puis aller dans Targets -> AppName -> Build Phases -> Bundle Resources et supprimer les fichiers de là aussi.


1

J'ai eu la même erreur. Il s'est avéré que mes pngs étaient en fait jpeg. XCode les a montrés correctement, mais un appareil iOS ne l'a pas fait. Résolu le problème en enregistrant le jpg au format png.


1

Cette erreur se produit car vous avez une image dans les ressources dont la largeur ou la hauteur est inférieure à 5 pixels et que vous essayez de redimensionner cette image. Réglez toutes les images sur un minimum de 5 pixels et l'erreur disparaît.


C'est ce qui m'est arrivé, cela a réglé le problème.
Acier recyclé

1

Suis les étapes:

 1. Take an image. 

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

 3. Drag it back to the Xcode.

réponse devrait-moi plus descriptif
Nimit Dudani

0

Dans mon cas, j'ai dû supprimer tous les fichiers PNG du dossier, puis ré-ajouter les fichiers sans glisser-déposer les images dans l'interface utilisateur Xcode (sous Launch Images). Ce dernier était essentiel dans mon cas, en ajoutant d'abord les fichiers au dossier, puis en les faisant glisser dans l'interface utilisateur, cela provoquait en quelque sorte un doublon qui a tout gâché. Essayez cela si rien d'autre ne fonctionne pour vous.


0

J'ai eu le même problème. Je l'ai résolu en supprimant les images en double. Vérifiez dans différents dossiers. C'était mon problème.


0

J'ai résolu cette erreur, elle apparaît lorsque vous renommez les images après les avoir placées dans le projet, donc pour résoudre ce problème, vous devez d'abord supprimer les images actuelles, renommer les fichiers du Finder et ensuite copier ces images dans le projet.


0

Peut-être vous aider. Vérifiez la Alpha Channelpropriété comme indiqué dans la capture d'écran ci-jointe. Ce devrait être YESsi son NO.

entrez la description de l'image ici


0

Peut-être vous aider. Vérifiez la Alpha Channelpropriété comme indiqué dans la capture d'écran ci-jointe. Ce devrait être YESsi son NO.

entrez la description de l'image ici


0

Eva Madrazo a publié la bonne réponse (au moins pour les problèmes avec les PNG entrelacés), mais pour ceux qui ont ce problème avec un tas d'images comme je l'ai fait, vous pouvez utiliser mogrify de manière récursive pour désentrelacer chaque fichier à la fois.

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

La modification de la méthode d'entrelacement ne semble pas affecter la qualité de l'image, mais affecte la taille de l'image, aucune ne vous donnera une image plus petite.

Mogrify est livré avec ImageMagick et vous pouvez l'installer avec homebrew.


0

Erreur:

Lors de la lecture / Volumes / Mac OS / RDC / Workpot / RestApp / RestApp / default1024_768.png pngcrush a détecté une erreur libpng: ce n'est pas un fichier PNG.

Solution:

  1. J'ai ouvert le fichier "default1024_768" dans PaintBrush outil et le fichier PNG saveAs avec le même nom.
  2. Remplacement du fichier Icon dans le projet Xcode.
  3. Nettoyer -> Construire

C'est tout son travail comme du charme

J'espère que cela aidera quelqu'un.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.