File System Paths
On Android, app files must be stored in app-specific directories rather than arbitrary file system locations. The SDK maps standard Foundation path functions to the correct Android directories.
Path Functions
Section titled “Path Functions”| Function | Returns |
|---|---|
NSHomeDirectory() | App data directory: /data/data/<package>/files |
NSTemporaryDirectory() | App cache directory: /data/data/<package>/cache |
NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) | App data directory |
NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true) | App cache directory |
Examples
Section titled “Examples”Store a file in the app data directory:
let home = NSHomeDirectory()let filePath = home + "/myfile.json"try data.write(to: URL(fileURLWithPath: filePath))Use FileManager to get the documents directory:
let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)let documentsURL = urls[0]let fileURL = documentsURL.appendingPathComponent("myfile.json")try data.write(to: fileURL)Get a temporary path for scratch files:
let tmpDir = NSTemporaryDirectory()let tmpFile = tmpDir + UUID().uuidString