是否有任何API可以獲取用戶的特殊文件夾,例如macOS中的Downloads或Documents文件夾?如何在macOS中獲取用戶特殊文件夾的路徑?
回答
根據我的經驗,我一般用來獲取主目錄路徑,如下例所示。
1路:
NSArray * paths = NSSearchPathForDirectoriesInDomains (NSDesktopDirectory, NSUserDomainMask, YES);
NSString * desktopPath = [paths objectAtIndex:0];
對於桌面:NSDesktopDirectory
對於文檔:NSDocumentDirectory
對於下載:NSDownloadsDirectory
第二路:
不是最好的方式,但我們可以通過這種方法也得到路徑。
對不同的語言使用本地化。
$ HOME當前用戶的目錄:
[NSURL fileURLWithPath:NSHomeDirectory()];
$ HOME /桌面
[NSURL fileURLWithPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Desktop"]];
$ HOME /文件:
[NSURL fileURLWithPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]];
$ HOME /下載:
[NSURL fileURLWithPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Downloads"]];
希望這將有助於你找到特殊的文件夾路徑。
使用NSFileManager defaultManager更適合查找桌面,文檔等。無需附加字符串組件。 – Moritz
...它可以工作,無論應用程序是否被沙箱化,都會返回相應配置的適當路徑。 – Rob
「stringByAppending」不能保證能正常工作。意大利用戶可能沒有名爲Desktop的文件夾,並且對於任何用戶,這些文件夾可能會在將來的操作系統版本中更改其位置。 – gnasher729
- 1. 如何獲取特定用戶的Windows「特殊文件夾」的路徑?
- 2. 在Jscript中獲取給定用戶的特殊文件夾路徑
- 3. MFC CFileDialog - 在Windows 7上獲取特殊文件夾路徑
- 4. 獲取特定文件夾路徑
- 5. 如何在js文件中獲取文件夾「node_modules」的路徑?
- 6. 獲取文件夾路徑
- 7. 在OS X中獲取用戶庫文件夾的路徑
- 8. 從Delphi中的OpenDialog選擇中獲取特殊文件夾路徑
- 9. 在jsp中獲取文件夾路徑
- 10. 如何從服務中獲取用戶帳戶的Windows特殊路徑
- 11. 如何在extjs中獲取文件夾路徑而不是文件路徑
- 12. 在路徑中的特殊字符更改WAMP根文件夾到文件夾
- 13. 如何獲取根路徑下的特定子文件夾路徑?
- 14. 如何從給定文件夾路徑獲取文件夾路徑?
- 15. 如何獲取jar文件中的文件夾路徑?
- 16. 如何獲取我的項目中文件夾的路徑(以及該文件夾中文件的路徑)?
- 17. 獲取當前登錄用戶的文檔文件夾路徑
- 18. 使用動態文件夾名稱獲取特殊文件夾
- 19. 如何從文件輸入中獲取文件夾路徑?
- 20. C#獲取特殊文件夾
- 21. 如何使用Java獲取特殊系統目錄的路徑
- 22. 從文件夾路徑獲取Outlook中的MAPI文件夾
- 23. 如何獲取文件在我的項目文件夾中的文件路徑?
- 24. 如何在grails中選擇文件夾並獲取文件夾路徑?
- 25. 如何在dired-mode中獲取文件夾路徑?
- 26. 如何在Mac OS X中獲取字體文件夾路徑?
- 27. 如何在delphi中獲取appdata文件夾路徑
- 28. 如何在python中獲取兄弟文件夾路徑?
- 29. 如何使用Apache Commons net FTPS客戶端獲取文件/文件夾路徑
- 30. 如何獲取res.drawable文件夾的路徑以複製文件?
https://developer.apple.com/reference/foundation/nsfilemanager/1407693-urlfordirectory?language=objc – Rob