Search code examples
swiftmacosmacos-sierrafile-handlingmacos-high-sierra

Swift 4 macOS App - How to find the important users directories?


What is the easiest way with Swift 4 for a macOS application to find the important users directories like: Desktop, Documents, Downloads etc.?


Solution

  • You can use FileManager urls method

    func urls(for directory: FileManager.SearchPathDirectory, in domainMask: FileManager.SearchPathDomainMask) -> [URL]
    

    and pass FileManager.SearchPathDirectory .desktopDirectory, .documentDirectory or .downloadsDirectory for the user domain mask and get the first url returned:

    let desktopDirectory  = FileManager.default.urls(for: .desktopDirectory, in: .userDomainMask).first!
    let documentDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
    let downloadsDirectory = FileManager.default.urls(for: .downloadsDirectory, in: .userDomainMask).first!