【发布时间】:2011-08-12 07:30:58
【问题描述】:
你能在这行代码中找到一个错误吗?它返回零! 该应用已完全沙盒化,但已启用下载文件夹访问权限。
NSArray*array = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[NSHomeDirectory() stringByAppendingPathComponent:@"/Downloads/"] error:NULL];
//array==nil: Why?
[编辑] 问题:我无法测试它。它发生在审查机器的来宾帐户上。编译的二进制文件是否有问题,或者您有任何解决此问题的提示吗?
【问题讨论】:
-
您是否能够写入文件并在审核团队运行后获取该文件?您可以使用 [NSString writeToFile:atomically:encoding:error:] 消息。我相应地在下面编辑了我的帖子
-
NSHomeDirectory()返回的值是多少? -
@Wizz 我实现了一个方法,该方法返回有关应用程序的一些信息(在 Wizz 回答错误之后)并将其写入文件。现在我正在等待答案(发布在解决中心)。收到回复后会再写评论。
-
@Richard NSHomeDirectory() 在评论机器上返回“/Users/Guest”。 (完整路径:“/Users/Guest/Downloads”)。你能从中读出些什么吗?
-
@Richard 现在这很有趣。该方法在沙盒化时不会返回错误,而是返回完全错误的路径。在他们的机器上它返回:/Users/Guest/Library/Containers/[Bundle ID of App]/Data/Downloads 你能告诉我如何得到正确的,也许没有硬编码?
标签: cocoa macos sandbox nsfilemanager