我已经以编程方式创建了一些PDF文件,我使用以下代码将其存储到设备内存中>>>>
NSString *fileName = [NSString stringWithFormat:@"SampleTextFile.pdf",strFinalString];
NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *saveDirectory = [path objectAtIndex:0];
NSString *saveFileName = fileName;
NSString *documentPath = [saveDirectory stringByAppendingPathComponent:saveFileName];
我可以在Devices Document文件夹中看到该文件。
我想隐藏这些文件,以便用户无法看到或删除它们。
任何人都可以帮我解决这个问题。
答案 0 :(得分:12)
存储私人数据的好地方是~/Library/Application Support/
,这是Mac上用于此目的的文件夹。
您可以使用以下方式生成此文件夹的路径:
NSString *appSupportDir = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) firstObject];
首次使用时,您必须自己创建文件夹,您可以使用以下文件:
if (![[NSFileManager defaultManager] fileExistsAtPath:appSupportDir])
{
[[NSFileManager defaultManager] createDirectoryAtPath:appSupportDir withIntermediateDirectories:YES attributes:nil error:NULL];
}
我写了一个简单的库,使这个和所有其他有用的iOS文件夹可用作NSFileManager上的方法:https://github.com/nicklockwood/StandardPaths
答案 1 :(得分:4)
只需在文件名前加一个点,如.SampleTextFile.pdf
。
但真正的解决方案是首先不将文档存储在NSDocumentDirectory
中。您应该在NSLibraryDirectory
中创建子目录并将其存储在那里。它也会被备份,不会被清除,如Caches
和tmp
,但用户无法使用iTunes访问它。