Even though the code above works in one instance, both the code snippets are wrong because they will fail to read the file on device. Reason is, you are using the absolute path from your MAC which simulator is able to find, however will not exist on device.
Use [NSBundle mainBundle]
to read file from application bundle,
[[NSBundle mainBundle] pathForResource:@"imageName" ofType:@"png"];
For reading file from documents directory of your application use this code snippet,
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Myfile.png"];
UIImage *image = [[UIImage alloc] initWithContentsOfFile:filePath];
EDIT
If you have a separate bundle which contains image files then to read from that bundle use this snippet. Assuming that this bundle is in documents directory,
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *bundlePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"MyBundle.bundle"];
NSBundle *myBundle = [NSBundle bundleWithPath:bundlePath];
NSString* imagePath = [myBundle pathForResource:@"MyImage" ofType:@"png"];
UIImage *image = [[UIImage alloc] initWithContentsOfFile:imagePath];
Hope that helps!