I’m very much a noob/hobbyist programmer, putting together a few simple Mac apps.
I’m confused about resource files.
I have some .png images sitting in a folder in my (XCode 4.4) project.
I also have a .plist (containing a dictionary) sitting in my Supporting Files folder.
To access the .plist, I’ve added a few lines of code to dig into the Bundle and get the file I’m after (pretty standard, I believe).
To use the .png files, I simply refer to them by name, and when I run from within Xcode everything does what I’m expecting.
But when I export as an Application, the images are still available and work fine, without me going into the Bundle for them.
So my question is – what determines which resource files I should go into the Bundle for, and which resource files I can assume will just be available by virtue of their being in my Supporting Files folder?
Many Thanks for reading this, and for any help you can give me.
I’m guessing that it depends on the class you are using and when you are only referring to them by name its just a convenience thing and XCode does the work nonetheless.
For example for a UIImage you can type
UIImage *image = [UIImage imageNamed:@"something"];But XCode will do the
NSSearchPathForDirectoriesInDomainsor the[NSBoundle mainBoundle]thingy at build time.You can only do the quick name referencing method on a few frequently-used classes and it’s just for convenience.
This is my theory anyway, it requires confirmation.