如何在沙盒应用中获取/ Users / username / Downloads路径?

时间:2016-01-13 03:52:55

标签: objective-c cocoa appstore-sandbox

我所做的是设置com.apple.security.files.downloads.read-writetrue,并查找Apple Sandbox相关文档,但我无法弄清楚如何获取下载文件夹路径,我得到的仍然是这样的容器路径:/Users/username/Library/Containers/com.errpro.Snell/Data/Downloads ,我使用的方法是NSSearchPathForDirectoriesInDomains。我看到有人使用getpwent来获取路径,但似乎不合适。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

您应该使用URLForDirectory方法。此方法查找当前用户的名称并将其插入URL路径中。

NSFileManager       *fm = [NSFileManager defaultManager];
NSURL               *downloadsURL;  

downloadsURL = [fm URLForDirectory:NSDownloadsDirectory
                   inDomain:NSUserDomainMask appropriateForURL:nil
                   create:YES error:nil];

答案 1 :(得分:0)

快捷键5

do {
     let url = try FileManager.default.url(for: FileManager.SearchPathDirectory.downloadsDirectory, in: FileManager.SearchPathDomainMask.userDomainMask, appropriateFor: nil, create: true)
} catch{
      print(error)
}