- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
是否有正确的方法来访问容器应用程序及其扩展的共享目录中的 NSCachesDirectory?
NSURL *sharedDirectory = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:APPS_GROUP_NAME];
这之后获取“/Library/Caches/
”的正确方法是什么?
最佳答案
我发现这两种方法非常有用。您必须#define g_groupName
才能成为您的共享应用组。 CachesDirectory
将首先选择共享应用程序组缓存文件夹,然后回退到应用程序特定的缓存文件夹。 CachesDirectoryLocal
始终返回应用特定的缓存文件夹。希望这对您有所帮助!
#define g_groupName @"group.com.yourdomain.yourapp"
#define DISPATCH_ONCE(var, code) static dispatch_once_t onceToken; var dispatch_once(&onceToken, ^{ code });
#define FILE_MANAGER ([[NSFileManager alloc] init])
NSString* CachesDirectory()
{
DISPATCH_ONCE(static NSString* s_cacheFolderForGroup = nil;,
{
if (g_groupName.length != 0)
{
s_cacheFolderForGroup = [FILE_MANAGER containerURLForSecurityApplicationGroupIdentifier:g_groupName].path;
s_cacheFolderForGroup = [s_cacheFolderForGroup stringByAppendingPathComponent:@"Library/Caches/"];
[FILE_MANAGER createDirectoryAtPath:s_cacheFolderForGroup withIntermediateDirectories:YES attributes:nil error:nil];
}
});
if (s_cacheFolderForGroup.length != 0)
{
return s_cacheFolderForGroup;
}
return CachesDirectoryLocal();
}
NSString* CachesDirectoryLocal()
{
DISPATCH_ONCE(static NSString* s_cacheFolder = nil;,
{
NSArray* docDirs = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
if (docDirs.count != 0 && [[docDirs objectAtIndex:0] isKindOfClass:NSString.class])
{
s_cacheFolder = (NSString*)[docDirs objectAtIndex:0];
if (![s_cacheFolder hasSuffix:@"/"])
{
s_cacheFolder = [s_cacheFolder stringByAppendingString:@"/"];
}
}
else
{
s_cacheFolder = @"./Library/Caches/";
}
});
return s_cacheFolder;
}
关于ios - 如何访问组共享文件夹中的 NSCachesDirectory 目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26599241/
我想在我的 iPad 应用程序的缓存文件夹中存储一些东西。 NSArray* cachePathArray = NSSearchPathForDirectoriesInDomains(NSCa
在什么情况下,iOS NSCachesDirectory 中的文件会被删除?显然,删除并重新安装应用程序。应用升级呢?磁盘空间不足的情况怎么办?还有什么吗? 最佳答案 我们的经验是,此文件夹会在应用更
是否有正确的方法来访问容器应用程序及其扩展的共享目录中的 NSCachesDirectory? NSURL *sharedDirectory = [[NSFileManager defaultMana
如果我在我的应用程序中以编程方式下载了 NSCachesDirectory 中的文件,是否也可以以编程方式删除这些文件? 最佳答案 从目录中获取文件的完整路径可能有很多方法,下面是其中的一种。 NSA
我如何获取文件夹 NSCachesDirectory 的大小,即/Library/Cache。我想知道这个文件夹的大小,以便我最终可以清除它。 谢谢。 编辑:这是我的代码。 NSDictionary
我正在尝试将驻留在 NSDocumentDirectory 中的所有文档移动到 NSCachesDirectory,然后在我的应用程序的下一个版本更新首次启动应用程序时删除所有这些 NSDocumen
您好,我正在尝试从 NSCachesDirectory 播放视频文件。 Player 没有从 videoView 层的 NSCachesDirectory 加载文件。 是否可以从缓存目录内存中播放视频
曾尝试将我的 NSMutableArray 对象存储到 NSUserDefaults,但没有成功。我的 NSMutableArray 在此处包含此日志: `ALAsset - Type:Photo,
作为标题。 我存储在 NSCachesDirectory 中的文件是否有可能被系统删除(即在低存储情况下),当我在前台运行时? 最佳答案 File System programming guide O
我正在尝试提高 UITableView 的滚动性能,该 UITableView 使用带有从网络获取但存储在 NSCachesDirectory 中的图像的单元格。单元格有一个自定义内容 View 来绘
我在应用程序中有一些可下载的内容(例如:游戏角色图像),在iOS中将它们保存到NSCachesDirectory路径中,我遵循iOS的准则,即应将可下载的内容保存在NSCachesDirectory中
我想将下载的杂志保存到我的 iOS 应用程序中的一个目录中。似乎 NSCachesDirectory 和 NSDownloadsDirectory 是合适的。不知道它们有什么区别,哪个适合下载杂志。任
我是一名优秀的程序员,十分优秀!