rgamber
rgamber

Reputation: 5849

Swift NSBundle pathForResource() returns nil

I have images in my project (which is only supported on iPhones, no iPads). The images are under a group and not under images.xcassets.

I want to use the same image for all iPhones, except the @3x for the 6 Plus, so I have a structure as follows:

  Project   
        |_ Images_Group
            |
            |_ [email protected]
            |_ [email protected]

I am using this code to use it in my app:

if let path = NSBundle.mainBundle().pathForResource("pic01", ofType: "png") {
            image = UIImage(contentsOfFile: path)
        } 

But path always returns nil. Do I need to have pic01.png?

The image is present under Project > Build Phases > Copy Bundle Resources. What am I doing wrong?

Upvotes: 0

Views: 2047

Answers (1)

Rob Napier
Rob Napier

Reputation: 299355

The tool you want here is UIImage(named:), which will look up images the way you're suggesting. pathForResource is a generic function that doesn't have special rules for images. It's looking specifically for pic01.png, which does not exist.

Upvotes: 2

Related Questions