确定OS X沙箱下符号链接指向的文件大小

时间:2013-01-30 10:34:02

标签: macos cocoa sandbox nsfilemanager

要确定文件的大小,我一直使用:

NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:path error:nil];
unsigned long long size = [fileAttributes fileSize];

但是,方法attributesOfItemAtPath:error: 不会遍历符号链接。 Apple如此暗示:

  

如果路径中的项目是符号链接 - 即属性词典中NSFileType键的值为NSFileTypeSymbolicLink - 您可以使用destinationOfSymbolicLinkAtPath:error:方法检索链接指向的项目的路径。

如果沙箱不阻止我访问指向的文件,那就太棒了:

  

拒绝file-read-xattr /path/to/the/original/file

所以,我的问题是:如何获取OS X沙箱下符号链接指向的文件大小?

1 个答案:

答案 0 :(得分:3)

这似乎是一个错误。如果用户已经专门将符号链接拖动到应用程序,那么这是一个明确的用户意图声明,并且您希望能够访问符号链接和目标。实际上,我可以访问原始文件并读取其内容,但不能其属性。所以我提交了错误报告#13143810。

编辑:我的错误报告已被关闭为#12991152的副本,实际上是#34;打开。"