Какая шестнадцатеричная часть в пути к папке «Документы»?
115 просмотра
1 ответ
У меня есть файл, расположенный в Documents
папке моего приложения . Когда приложение закрывается, я сохраняю URL файла в applicationWillTerminate
методе AppDelegate :
// archiver init code
[archiver encodeObject:file.URL forKey:kFileURL];
// finish encoding and write data to file system
Но при попытке восстановить файл при следующем запуске приложения файловый менеджер не может найти файл: после вызова
NSURL *fileURL = [unarchiver decodeObjectForKey:kFileURL];
NSString *filePath = fileURL.path;
метод
[[NSFileManager defaultManager] fileExists:filePath];
возвращается NO
.
Я попытался найти причину этого и обнаружил, что путь к Documents
папке меняется при каждом запуске приложения. Часть, которая изменяется, является шестнадцатеричной папкой в середине. Вот два примера:
/private/var/mobile/Applications/04083A4A-87AC-4E3C-8BA1-F002B97AE304/Documents/...
/private/var/mobile/Applications/65D136BA-42C3-887A-B947-7FE396978153/Documents/...
Я всегда думал, что шестнадцатеричная часть - это своего рода идентификатор, уникальный для каждого приложения. Но как это меняется: что именно это число? И как я могу переместить свой файл после завершения и перезапуска приложения?
Автор: Mischa Источник Размещён: 12.11.2019 09:28Ответы (1)
2 плюса
Вы должны просто получить каталог для папки с документами и затем загрузить свой файл.
+ (NSString *)documentDataPath
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
if ([paths count] == 0) {
return nil;
}
NSString *directory = [paths objectAtIndex:0];
if (directory == nil) {
NSLog(@"NSDocumentDirectory not found!");
}
return directory;
}
Автор: pds
Размещён: 10.10.2014 06:47
Вопросы из категории :
- ios Приложение для iPhone в ландшафтном режиме, системы 2008
- ios Как мне дать моим веб-сайтам значок для iPhone?
- ios Как программно отправить смс на айфон?
- ios Как я могу разработать для iPhone, используя машину для разработки Windows?
- ios Tips for a successful AppStore submission?
- ios Как мне определить размер UITextView для его содержимого?
- objective-c Открытие нестандартного URL в приложении Какао
- objective-c Каков наилучший способ перетащить NSMutableArray?
- objective-c Как работает пул автозапуска NSAutoreleasePool?
- objective-c Как вы можете создать Makefile из проекта Xcode?
- nsfilemanager Создайте папку внутри папки документов в приложениях iOS
- nsfilemanager Как определить общее доступное / бесплатное дисковое пространство на устройстве iPhone / iPad?
- nsfilemanager Какие символы разрешены в имени файла iOS?
- nsfilemanager Существует ли более безопасный способ создания каталога, если он не существует?
- nsfilemanager Есть ли способ увидеть файловую систему на симуляторе iOS?
- nsfilemanager Как программно скопировать содержимое каталога в другой каталог в приложении для iPhone