Как скрыть папки, созданные в Document Directory в ios?
Я создал несколько 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];
Я вижу файл в папке "Документы устройства".
Я хочу скрыть эти файлы, чтобы пользователь не мог их увидеть или удалить.
Может кто-нибудь помочь мне сделать это.
2 ответа
Хорошее место для хранения личных данных находится в ~/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
Просто префикс имени файла с точкой, как в .SampleTextFile.pdf
,
Но реальное решение состоит в том, чтобы не хранить документ в NSDocumentDirectory
на первом месте. Вы должны создать подкаталог в NSLibraryDirectory
и хранить эти вещи там. Это также резервируется и не будет очищено как Caches
а также tmp
, но пользователь не может получить к нему доступ через iTunes.