I am trying port my iPad project to latest iPad 2. I installed iOS 4.3 SDK with Xcode 4.0. When i try to build my project, i'm getting the following error. I don't know why am i getting this error. Could someone help me to resolve this build error?
While reading /Users/username/Desktop/iPAD/MyProject/trunk/Resourses/images/top_bar.png pngcrush caught libpng error:
Not a PNG file..
Could not find file: /Users/username/Library/Developer/Xcode/DerivedData/Project-fmhveawksgdtnraclfizuhrekmzi/Build/Products/Debug-iphoneos/MyApp-Upgraded.app/top_bar.png
I had the same problem, but it wasn't because of a corrupted png : it was because two PNG files had the same filename in different directories of my source tree. What was peculiar was that the errors (I had 4 files which had "twins") were not identical from one build to another. On one run I had errors on all files, on the other only on some of them.
Did you check whether the file Users/kavapanga/Desktop/iPAD/ALN II 3 latest 2/trunk/Resourses/images/CS_logo_for_top_bar.png exists? Also check if it is infact a PNG file. Right click on the file and do a Get Info to check if the file has any other extension and is marked as hide extension. If you are not sure of the format of the file, opening the file and save it as a PNG file again should work ,most of the time.
I had the same problem.
How to fix : Open up image with Preview -> File > Export > Format change to PNG and you are done !!
There is no issues with image or Xcode. The issue, which creating that image from photoshop, is whether that image is interlaced or not interlaced. While saving your image in photoshop you will get one option for that.
Check out this link for more info:
Build app with Xcode 4 - it always show some error about PNG image
not interlaced: You should use image which is not interlaced. This is the original png image.
interlaced: This option is suitable for the image which are getting downloaded from web. Specifically saying, this is used when you require to reduce image load time. What this option internally does is, it will create a .png file but with lower clarity and lower dpi like a normal jpeg image. That's why such images are having property that it is jpeg image.
Hope this will help you all.
Enjoy Coding :)
I got this error when I moved images around in the project's folder, to an "Images" folder.
Turns out my "Copy Resources" build phase contained the steps both to copy the files from their new, correct folder - and from the previous folder where they were stored. Removing the outdated build steps fixed the errors.
Another reason pngcrush considers PNG files to not really be PNG files is if you accidentally export them with layers intact. If you inspect the file in Finder, look around the More Info area (Dimensions, Color Space, etc.) for an item called "Layers"
It might say something like:
Layer 68, Title Banner, Group 26
This happens when designers sometimes Save As PNG instead of exporting for web/mobile. And it completely destroys libpng (and thus pngcrush).
The fix is to properly export the PNG, or open the PNG yourself and re-export it as a "flat" PNG.
This can be caused by incompatible PNG file format. You will need the "Color profile" for your png file to make it work in Xcode.
First off, check the info for your file.
While this is a valid PNG file, this is NOT the format that Xcode can take. You will need the following PNG format:
To convert your PNG file to a format that Xcode can take. You can use Preview to export the file.
Had this issue as well. The PNG existed and wasn't corrupt.
Solved it by:
R-click the image in xcode, select "Delete"
Remove reference only (don't actually trash the file)
Drag n' drop it back into xcode (in-place) making sure you select the correct targets
I had this problem and found there was a problem with the png. I remade it and worked fine.
I had the same problem. Even though the file extension may be png the file may still be something else. And 'get info' shows what ever the file extension is I think. Open up the file in preview and go to tools -> show inspector -> File tab. Here you should be able to see the actual file type.
I had this error and it was actually totally unrelated to the png's it was erroring on. The actual problem was I had two files with the same name in my project (I had drag'n'dropped a newer version of a 3rd party class assuming it would replace the older version).
I removed the reference to the duplicate file and that solved the build errors.
Problem Solved
I got the same problem couple of time in development but today i found that there are two solutions and their possibilities, here is this
Problem Solved#1: If you Create or your designer create the design which they saved the pnd from adobe illustrator then its got the problem if you create by yourself just copy all the AI artwork to the photoshop or if your designer create it then just tell them to import the illustrator format to the photoshop and send the pnd.
Problem Solved#2: select the image right click the image->get Info and check that it is in correct .png format or not if its not then just edit .png extension.
Just Enjoy.
I get the same error when I tried to copy my project folder and run the project. The project in the original folder didn't have that problem.
Deleting the copy and making a new copy of the folder solved my problem.
Error:
While reading /Volumes/Mac OS/RDC/Workpot/RestApp/RestApp/default1024_768.png pngcrush caught
libpng error: Not a PNG file..
Solution:
I opened "default1024_768" file in PaintBrush tool and saveAs PNG file with same name.
Replaced the Icon file in Xcode project --> Clean --> Build.
That's All its work like charm
Hope this will help someone.
I have this bug quite often. if you 100% sure that your png is there and is correct then just simply recompile the project, if does not work - recompile again and again, and sometimes it will start working ;-) that's a bug in Xcode that was there for long time (since Xcode3).
Related
I know you can inspect an image to determine what its file format is, but just supposing you append .png to the name of an image file when it is in fact in JPEG format, are there any possible issues that can arise as a result or does it not matter to Xcode what you call it, once you have .png or .jpeg at the end of the image file name?
Yes. This will cause you problems. They are completely different formats. Although you are usually able to freely rename image extensions on your computer, and they remain openable in image editors, this is only because the editors don't necessarily rely on the extension for the format.
However, in Xcode, although it may not cause you problems initially... somewhere down the line, it'll come back to bite you - I guarantee it.
I have no idea why you'd want to do such a thing in the first place!
Just got this funny looking error in my swift project debugger.
There is probably an invalid name of an image somewhere, but I am not sure what extra chunks between iDOT and IDAT mean.
Do you have any idea what causes it?
Product > Clean Build Folder (with pressed Option) fixed it for me
Keyboard shortcut - Shift+Option+Command+K
This issue is completely random and happened to me too with a few images. Probably another Xcode bug.
My image is called "back2#2x.png"
I renamed it to "back2.png"
Ran the project (the image will appear stretched)
Changed it back to "back2#2x.png"
Ran project
FIXED?!
Good-luck hope it helps!
In XCode 8, I cleaned the project (Product->Clean). Then quit XCode. Open it again. Then it works. I haven't changed name of the image. I guess it is just because XCode has some problem. Nothing is wrong with your code.
I just delete all images which have problem to appear and after load again the same images and work perfectly.
I am trying to load a .PNG image located in my XCode project as UIImage - but the constructor of UIImage that takes file name returns nil.
Please see the screenshot for my setup:
Here are some details:
The project is in Swift
I am constructing the UIImage in global variable (lazyly)
The issue is pressent in simulator and on the device (iPhone 5S)
I have added same image several times with different names to make sure incorrect naming is not the cause (see all the names in left red rectange)
all images are added to EasyTypeShared target, which is a library project embedded into runeable EasyType project.
I did not do any axtra steps - just added the image files to my workspace (and the EasyTypeShared target) and run the app
EDIT: According to this blog the cause might be that workspace setup - more preciselly that the image is being loaded by framework. Not sure but in lack of better ideas I will follow this track. If you can cast some light on the matter I would by really thankful for any ideas.
The problem was caused by the fact that code loading the image from resources resides in framework. Main bundle does not contain resources for the framework, the corresponding bundle needs to be used. Working code:
private let imagePlaceholder = UIImage(named: "ImagePlaceholder.png", inBundle: NSBundle(forClass: CarretMoveController.self)
Are these part of the images.xcassets? If not they will have to be read using NSBundle and getting a path/URL for the resource and all that and a simple filename will not suffice.
You can add the files to the assets as per the Apple documentation here. Relevant section might be the 'Adding Image Sets' one.
If you do not have images.xcassets, you can add it to your project as per one of the answers given here.
in your project explorer I can see that images are not named properly.
it should be like this:
imagePlaceHolder.png
imagePlaceHolder#2x.png
notice the png at the end of the file name, and #2x before the file extension.
Are there good tools for checking PNG files for issues that can be how I have ended up here? At first i feared with was an issue with the many thousands of "tiles" in my learning app (at 3 resolutions), but it seems one or more specific png files have an internal issue.
pngcheck works well and is a good resource. In addition, an OS-X app (in the app store) called "Quick Opaque" easily stripped out the (unneeded) alpha channel data from my png file, which cured the IDAT problem.
Does anyone know why Xcode (4.6.3) would start TiffUtil in the Copy Resources Phase instead of just copying PNG files to the bundle using CpResource . I'm now ending up with some normal PNG icons and splash screens and a few tiffs. I've checked the images, there doesn't seem to be anything wrong with them.
Thanks,
Daniel Dekkers
I ran into this last week!
The problem was in the build settings.
Combine High Resolution Artwork COMBINE_HIDPI_IMAGES
Combines image files at different resolutions into one multi-page TIFF
file that is HiDPI compliant for Mac OS X 10.7 and later. Only image
files in the same directory and with the same base name and extension
are combined. The file names must conform to the naming convention
used in HiDPI. [COMBINE_HIDPI_IMAGES]
It wants to take your x.png and x#2x.png and turn it into a multi-page TIFF. But since this option isn't valid for iOS, none of your images will work correctly.
So, in the build settings, try and find "Combine High Resolution Artwork" and turn it off. If its not in there, you can also search for the COMBINE_HIDPI_IMAGES flag and turn it off.