在mac os上使用cocoa获取private / var / folders缓存文件夹路径

时间:2016-11-08 17:41:23

标签: objective-c macos cocoa caching persistence

我正在开发一个应用程序,我需要将一些文件存储在macOs缓存文件夹中。由于每个用户的路径都发生了变化,我无法确定它。例如,我的是:

/var/folders/_9/q7r9pg8s31g5m96jf7q3h3j80000gn/C/

我知道像

这样的方法
NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSAllDomainsMask, YES);

但它只给了我:

  

“/ Users / me / Library / Caches” -   “/ Library / Caches” -   “/系统/库/高速缓存”

这不是我需要的。我正在为缓存文件夹寻找等效的NSTemporaryDirectory()

我找到的唯一方法是使用终端并输入getconf DARWIN_USER_CACHE_DIR ...

1 个答案:

答案 0 :(得分:0)

您必须通过添加目录来扩展Caches文件夹,如下所示:

NSString *path = nil;
NSArray *paths = NSSearchPathForDirectoriesInDomains(
NSCachesDirectory, NSUserDomainMask, YES);
if ([paths count])
{
    NSString *bundleName =
    [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"];
    path = [[paths objectAtIndex:0] stringByAppendingPathComponent:bundleName];
}

基于https://www.cocoawithlove.com/2009/07/temporary-files-and-folders-in-cocoa.html