1 let fileManager = FileManager.default()
2
3 let urlArray = fileManager.urlsForDirectory(FileManager.SearchPathDirectory.userDirectory, inDomains: FileManager.SearchPathDomainMask.allDomainsMask)
4
5 for url in urlArray {
6 print("url = \(url)")
7
8 let resKeys = [URLResourceKey.nameKey, URLResourceKey.isDirectoryKey]
9
10 let resKeysStr = [URLResourceKey.nameKey.rawValue, URLResourceKey.isDirectoryKey.rawValue]
11
12 let dirEnumerator = fileManager.enumerator(at: url, includingPropertiesForKeys: resKeysStr, options: [.skipsHiddenFiles,], errorHandler: nil)!
13
14 for case let fileUrl as NSURL in dirEnumerator {
15 guard let resValues = try? fileUrl.resourceValues(forKeys: resKeys),
16 let isDirectory = resValues[URLResourceKey.isDirectoryKey] as? Bool,
17 let name = resValues[URLResourceKey.nameKey] as? String
18 else {
19 continue
20 }
21
22 if isDirectory {
23 dirEnumerator.skipDescendants()
24 print("dir name is : \(name)")
25 } else {
26 print("file name is : \(name)")
27 }
28 }
29
30 }