Something that needs to be considered for simple graphics, such as the type of thing used for the background, etc., is just to render them at runtime using CG.
For example, in one of our applications, instead of including a typical repeating tile background image in all the necessary resolutions, we instead draw it once in CGPatternRef and then convert it to UIColor, after which everything becomes simple.
We still use image files for complex things, but for everything that is just in nature, we just visualize it at runtime and cache the result, so we get resolution independence without copying image files. It also simplified maintenance.
source share