Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get path of image form Resource of main bundle

i have an iPhone application in which i added images directory (Group) in to Resources (group). i want to access that images which is in images. I need a path to that images so i create a code like following.

NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"myImage1" ofType:@"png" inDirectory:@"images"];
NSLog(@"%@", imagePath);

Result :

(null)

i also tried this code

NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"myImage1" ofType:@"png"];

But this code gives me (null) result.

myImage1 's path is Resources/images/myImage1.png

I don't know what is the problem. Please suggest some fixes.

like image 328
Bhavin_m Avatar asked Apr 24 '13 06:04

Bhavin_m


2 Answers

Adding image by following method solved my problem.

  • Right click on project in xcode and select Add Files to "project name".
  • Select your image file from computer local disk.
  • In the pop-up window make sure you select Copy items into destination group's folder and Create Folder References for any added folders and Add to targets.
  • click Add.

Then with bellow code i can retrieve my image.

For Objective-C version

[[NSBundle mainBundle] pathForResource:@"imageName" ofType:@"png"];

For Swift 4.0 version

Bundle.main.path(forResource: "imageName", ofType: "png")
like image 90
Bhavin_m Avatar answered Oct 31 '22 15:10

Bhavin_m


for soultion....

Go to : Target -> "Build Phases" -> "copy bundle Resources" Then add that particular file here.

clean the project and RUN. It works.

and also see...

NSBundle pathForResource inDirectory gives nil

and also check...

NSString *path = [[NSBundle mainBundle] resourcePath];
NSFileManager *fm = [NSFileManager defaultManager];
NSError *error = [[NSError alloc] init];
NSArray *directoryAndFileNames = [fm contentsOfDirectoryAtPath:path error:&error];

print all value of this directoryAndFileNames and check your filename is exist in that or not....

like image 27
DharaParekh Avatar answered Oct 31 '22 13:10

DharaParekh