Michael Chen
Michael Chen

Reputation: 883

Build app with Xcode 4 - it always show some error about PNG image

When I build my app with Xcode 4 it always show this error message:

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

While checking alphas in /Volumes/WORK/Works/iMusicBox/Images/list_cell.png pngcrush caught libpng error: Not enough image data

but It's OK with Xcode 3.2 - why?

Upvotes: 88

Views: 43292

Answers (22)

swiftBoy
swiftBoy

Reputation: 35783

Error:

While reading /Volumes/Mac OS/RDC/Workpot/RestApp/RestApp/default1024_768.png pngcrush caught libpng error: Not a PNG file..

Solution:

  1. I have opened "default1024_768" file in PaintBrush tool and saveAs PNG file with same name.
  2. Replaced the Icon file in Xcode project.
  3. Clean --> Build

Upvotes: 0

Eva Madrazo
Eva Madrazo

Reputation: 4731

You have to save your PNG files as NOT INTERLACED. Try to open the file in photoshop (or similar), save as, and select "Not interlaced".

Upvotes: 190

sunset
sunset

Reputation: 91

It may be the "Compress PNG Files" setting (from the Packaging section of Build Settings).

I solved this error by switching it to "No".

Upvotes: 9

Douglas Schmidt
Douglas Schmidt

Reputation: 367

Eva Madrazo posted the right answer (at least for problems with interlaced PNGs), but for those having this problem with a bunch of images as I did, you can use mogrify recursively to de-Interlace every file at once.

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

Changing the interlace method doesn't appear to affect the image quality, but affects the image size, none will give you a smaller image.

Mogrify comes with ImageMagick and you can install it with homebrew.

Upvotes: 0

Ashvin
Ashvin

Reputation: 8997

May be help you. Check Alpha Channel property as shown in attached screenshot. It should be YES if its NO.

enter image description here

Upvotes: 0

Ashvin
Ashvin

Reputation: 8997

May be help you. Check Alpha Channel property as shown in attached screenshot. It should be YES if its NO.

enter image description here

Upvotes: 0

kakashy
kakashy

Reputation: 744

I solved this error, it's appear when you rename the images after put into the project, so for solve this problema first should delete the current images, rename files from finder and later copy this images into the project.

Upvotes: 0

Javier Roberto
Javier Roberto

Reputation: 1293

I had the same problem. I resolved it removing the duplicate pictures. Check out in different folders. That was my problem.

Upvotes: 0

tasnim ahmed
tasnim ahmed

Reputation: 11

Follow the steps:

 1. Take an image. 

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

 3. Drag it back to the Xcode.

Upvotes: 1

Yohann T.
Yohann T.

Reputation: 1925

Check that you don't have duplicate entries in the Target's "Build Phase"-> "Copy Bundle Resources"

Upvotes: 15

AndroC
AndroC

Reputation: 4884

This error happens because you have an image in resources that's smaller than 5 pixels in width or height and you are trying to resize that image. Set all images to minimum of 5 pixels and error disappears.

Upvotes: 1

OnTwoWheels
OnTwoWheels

Reputation: 11

I got the same error. Turned out my pngs where actually jpeg. XCode showed them properly but an iOS device didn't. Solved it by saving the jpg as png.

Upvotes: 1

Resty
Resty

Reputation: 101

Try to find and resave this *.PNG files using "Preview", to be exact: File - Export... - "save as PNG". It seems to me, that it happens when you saving image in Photoshop with mode "Save for Web" and after this image will be saved with special compressing (LZW). That's all, good luck!

Upvotes: 5

Jonathan
Jonathan

Reputation: 2983

In my case, I had to remove all PNG files from the folder and then re-adding the files again without drag-and-dropping the images into the Xcode UI (under Launch Images). The latter was key in my case, first adding the files to the folder and then dragging them into the UI somehow cause a duplicate which screwed it all up. Try that out if nothing else's working for you.

Upvotes: 0

zirinisp
zirinisp

Reputation: 10291

I had to remove png files and then go to Targets -> AppName -> Build Phases -> Bundle Resources and remove the files from there too.

Upvotes: 1

Alex L
Alex L

Reputation: 8449

I had to remove the references to PNGs and add them to the project again. Anyone has a better solution?

Upvotes: 2

inox
inox

Reputation: 31

In my case I solved the problem by removing the blank "space-key" in folder/filename.

Hope this works for somebody too.

Upvotes: 3

in my case with xcode 4.5 the problem is solved by permission giving with terminal

chmod -R +rw /yourprojectpath/yourprojectfolder

this is maybe not the best solution because of locking files with file sharing. But will do if you are in hurry.

Upvotes: 2

banane
banane

Reputation: 251

That happens when you have multiple entries for the image file in your project file. I have no idea why but I just removed all entries, reloaded the project and added the file again.

Upvotes: 23

hofo
hofo

Reputation: 522

Mine weren't interlaced but I kept getting odd errors from pngcrush. Eventually I deleted the files not just disk but through XCode. I added them back in one by one by drang-and-drop into XCode, building after each, expecting to hit one that had an issue. I never did. My conclusion is that you really need to manipulate the files from XCode and not the filesystem at all.

Upvotes: 2

jaime
jaime

Reputation: 926

In my case I discovered my corrupted png wouldn't open in photoshop. I opened in preview, saved as psd, and then saved again from photoshop (save-as -> png -> not-interlaced). Compiles fine now in xcode 4.

Upvotes: 6

Codo
Codo

Reputation: 78815

It looks like your PNG file list_cell.png is corrupt. Xcode 4 makes more checks than Xcode 3 in many areas and reveals problems that have been lurking in your project all the time.

Have you tried to open your PNG file in an image editor and save it again?

Upvotes: 3

Related Questions