Matt Spoon
Matt Spoon

Reputation: 2830

Absolute paths of files in iOS applications in swift

I need to be able to reference a file which is stored in my Xcode project in the following way:

thing

I want to be able to use files which I have stored inside of the "data" folder.

How do I reference it to be able to read its contents? What is it's directory path?

Upvotes: 1

Views: 4994

Answers (3)

Aleks Kinokus
Aleks Kinokus

Reputation: 31

Relative to swift 3

let bundleURL = Bundle.main.bundleURL
let dataFolderURL = bundleURL.appendingPathComponent("data")
let fileURL = dataFolderURL.appendingPathComponent("file.txt")
print(fileURL.path)
print(FileManager.default.fileExists(atPath: fileURL.path))

Upvotes: 2

Matt Spoon
Matt Spoon

Reputation: 2830

I just figured it out. The apple swift documentation and other developer references are really unclear about it.

The way you would reference the "data" folder so as to scan the entire contents is by writing the following:

let path = NSBundle.mainBundle().resourcePath?.stringByAppendingPathComponent("data")

var error: NSError?

let filesInDirectory: [String]! = fileManager.contentsOfDirectoryAtPath(path!, error: &error) as? [String]

This will return the contents of the files in the "data" folder as an array of filenames.

Hope this helps :)

Upvotes: 2

Leo Dabus
Leo Dabus

Reputation: 236360

let bundleURL = NSBundle.mainBundle().bundleURL
let dataFolderURL = bundleURL.URLByAppendingPathComponent("data")
let fileURL = dataFolderURL.URLByAppendingPathComponent("fileName.txt")

Upvotes: 0

Related Questions