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?

Michael Chen
la source

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 Madrazo
la source
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.

banane
la source
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"

Yohann T.
la source
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".

le coucher du soleil
la source
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.

jaime
la source
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!

Resty
la source
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?

Codo
la source
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.

inox
la source
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.

hofo
la source
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é.

Balázs Csordás
la source
2

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

Alex L
la source
1

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

zirinisp
la source
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.

OnTwoWheels
la source
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.

ancajic
la source
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.
tasnim ahmed
la source
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.

Jonathan
la source
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.

Javier Roberto
la source
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.

kakashy
la source
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

Ashvin Ajadiya
la source
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

Ashvin Ajadiya
la source
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.

Douglas Schmidt
la source
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.

swiftBoy
la source