How to add GIF file in Xcode assets foler? - xcode

I'm using Xcode 12.4 and I want to use GIF image in my app.
So I put GIF Image in Assets.xcassets folder.
But UIImage can't recognize the GIF file with this error message
CoreUI: attempting to lookup a named image 'imgname' with a type that is not a data type in the AssetCatalog
When I open Assets.xcassets folder in xcode, the file is represented like above image.
How to solve this error? I use code to get image
UIImage.animatedImage(with: [UIImage(named: "img_name")!], duration: 15.0)
Thank you.

That's because UIImage is not support file in data set.
You must use NSDataAsset to load gif data from data set

Related

Error trying to add SVG image to xcode assets

I have converted an image from PNG to SVG using the vectorizer.io website. The SVG image looks fine when viewed with the Chrome browser and in GIMP. But when I try to add it to the asset folder in xcode (Version 11.4.1) I get this error ...
The SVG file provided for the symbol image set X is not suitable. Symbol image file (null) must have a glyph for regular weight Medium image size.
I have tried opening the file with Inkscape and saving it as various versions of the SVG and PDF, but none seem to be acceptable.
I have not been able work out how to provide that glyph, and whether this is a fault in the SVG file or something I have failed to do in xcode.
Only starting from Xcode 12 you can use SVG.

iOS: Failed to load Asset Catalog JPEG images

According to WWDC 2014, Asset Catalogs support JPEG images format. I added a JPEG image to my asset catalog, and referenced this image in my storyboard. However, the image just appears white/blank.
I have tried the suggestions in "How can I add JPEGs to an asset catalog in Xcode?", the problem still exists.
Your help would be appreciated!
Did you try to set 'Render As..' option for this image to 'Always Original' in the right panel of asset catalog editor?

Cocoa. Why app's image are changed from png to tiff format in sandbox?

my app's resources are png format,but when I run the app,and open the sandbox's content resources directory,I found that all the images in png format are changed to tiff format,how is it going?
anyone could help me?
Thanks!
This sounds like you have the "Combine High Resolution Artwork" setting set in your project's build settings. With this option set Xcode will automatically combine a standard and #2x image into a single TIFF. See this Apple doc for details.

Interface Builder doesn't show some of my resource images

I have almost 20 images in PNG format added to my current project on Xcode (under the proper group, Resources). Unfortunately, library window's Media tab doesn't show some of them. And if I create an UIImageView and set one of these invisible images from code, nothing shows up. I also tried from IB with adding a UIImageView and set its source image.
Is this problem a image format related issue or is there a tiny detail I'm missing.
What log says:
Could not load the "07_clock_icon.png" image referenced from a nib in the bundle
The solution to this is a bit silly, but it definitely works:
Close XCode and the Interface Builder. Now, instead of opening XCode then opening the project, navigate to the project in Finder and double click on the project. When you open your xib file the blue file not found images will flash up, then be replaced with the correct images and the dropdown will show all your images in the Inspector.
Heyy! I figured it out. It's a refreshing bug. So just copy and replace those images that did not load into your project folder, and then hold Shift Command K (to clean your project). After Clean Up it should work perfectly! Enjoy!
If you dragged the images from the Finder into the Resources folder in XCode the images should show up in IB as well. At least it does so in my setup.
Maybe the images are 8-bit PNG images. I believe Cocoa requires them to be 24-bit because of the alpha transparency. PNG 8-bit doesn't support the alpha channel, as it's more like a GIF image.
But from the error you posted It seems IB couldn't find the resource at all. Which is understandable if it doesn't load the resources from XCode in its library.
Assuming you selected the option to let XCode copy the files into your project and neither XCode nor the Finder complain when you make the copy... I wonder if there might be some file corruption? Maybe try recreating them or opening and resaving them from another graphics application (or even Preview.app).
btw- 8-bit PNGs have worked fine for me.
Same problem was encountered by me. The problem is with the image. The image has been some how corrupted.Try to open the image in photoshop and you will see it doesn't open with photoshop.
I solved the problem by changing the image format to PNG-24 and everything works fine for me.
Hope this will solve your issue.
Regards,
Rupesh R Menon

How do I load an image using SDL and Xcode on OS X 10.5?

Edit: After using a bmp at toastie's suggestion, I'm still having problems loading the image:
I'm using SDL and OpenGL with Xcode and I'm trying to load an image to use as a texture on a cube. The image is a 256x256 RBG jpeg. The image is in the same directory as all of my source code, and it's under the Resources folder in the Xcode project. The file is named texture.bmp
if (textureSurface = SDL_LoadBMP("texture.bmp"))
{
// ...
}
else printf("%s", SDL_GetError());
I keep running it and getting the console error: Couldn't open texture.bmp
What is the path, or proper syntax for loading a file under these conditions?
SDL_LoadBMP only loads BMP files as its name would suggest :)
You will need another library to load other image formats.
Try SDL_image:
http://www.libsdl.org/projects/SDL_image/
or DevIL:
http://openil.sourceforge.net/
Or roll your own loader:
http://www.libpng.org/pub/png/libpng.html
Found the answer here. Essentially the image path is relative to the application being run, so I had to move the image or make the path relative to the debug build.
I don't have Xcode in front of me, but I think if you right/option click on the file in your resources listing to get at the preferences for the file you can set it to be relative to the project, containing directory, etc.

Resources