objective-c - 如何在沙盒 mac 应用程序中获取用户的图片目录?

标签 objective-c macos appstore-sandbox

我有一个 com.apple.security.assets.pictures.read-write entitlement 设置为 YES 的 sanboxed mac 应用程序。因此,我可以访问用户实际的/Users/username/Pictures 目录。

我想以编程方式获取此目录的路径,我该怎么做?

我目前执行以下操作,但它会导致沙箱容器图片位置。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSPicturesDirectory, NSUserDomainMask, YES);

//this gets the pictures directory in sandbox container not the actual user Pictures directory 
NSString *userPicturesPath = [paths objectAtIndex:0];

最佳答案

在我看来,沙箱容器 Pictures 目录只是 ~/Pictures 的符号链接(symbolic link)。所以我相信这正是你想要的。您可以通过在示例中的 userPicturesPath 上调用 stringByResolvingSymlinksInPath 来查看这一点。您可以看到这些文件实际上只是指向您的 $HOME Screenshot 中相应文件的符号链接(symbolic link)。

关于objective-c - 如何在沙盒 mac 应用程序中获取用户的图片目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14378750/

相关文章:

objective-c - 为什么应用程序窗口只打开一次然后就打不开了?

c# - #define 的成本是多少?

c++ - 在 OS X 10.6 下构建的 Cocoa 应用程序在 OS X 10.7 上崩溃

macos - 如何将下载的文件(音频、文档)自动保存到 mac os x 沙盒应用程序中用户的下载文件夹?

objective-c - NSTreeController 具有两个不同的核心数据 NSManagedObject 实体

ios - Core Plot 中的 expandRangeByFactor 方法出错

python - WebSocket 聊天异步示例崩溃

java - MouseMotionListener 事件不会在屏幕的某些区域触发

macos - 如何在 Mac 沙盒应用程序上保留文件或文件夹列表?

iOS 自动删除所有应用程序沙箱数据