I am trying to write a simple IO wrapper for Swift.

To test this I have a file named "Test.txt" in my project root.

I have added this file to Build Phases within Build Bundle Resources, as suggested by everyone else who has had this problem.

![Build Bundle Resources](https://i.stack.imgur.com/urzyj.png)

I have implemented a very simple File class with one read function with the intent to output the contents of the file.

```
class File2{
    let resourceName: String
    let type: String
    let bundle = NSBundle.mainBundle()

    init(resourceName: String, type: String = "txt"){
        self.resourceName = resourceName
        self.type = type
        println(self.bundle)
    }

    func read(){
        let path = self.bundle.pathForResource("Test.txt", ofType: "txt") //Hard coded these in just to make sure Strings contained no whitespace
        println(path) //This returns nil...why?
        var error:NSError?
        //print(String(contentsOfFile:path!, encoding:NSUTF8StringEncoding, error: &error)!)
        //return String(contentsOfFile:path!, encoding:NSUTF8StringEncoding, error: &error)!
    }
}

```

When I print the contents of the bundle I get a URI to a specific location on my filesystem, which I assume is the virtual location of the app in the simulator. Navigating to it reveals that it does indeed contain my "Test.txt" file.

Now all I want to do is get the path to that file.

I do this by calling: `self.bundle.pathForResource("Test.txt", ofType: "txt")`

This returns "nil"

**Why? :)**