Я заметил, что NSHomeDirectory возвращает другой путь каждый раз, когда я перезапускаю приложение с помощью Xcode и, видимо, даже если я нажму на значок вручную, так как он не загружает содержимое файла. Я ошеломлен тем, что каждый раз, когда я перезапускаю приложение, он дает мне другой каталог. Это происходит как на симуляторе, так и на устройстве, и даже если я использую метод "ForUser". Мои вызовы выглядят так:
NSString* fullPath = [NSHomeDirectory() stringByAppendingPathComponent:@"test.file"];
или
NSString* fullPath = [NSHomeDirectoryForUser(@"MrX") stringByAppendingPathComponent:@"test.file"];
или даже
NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [docsDirectory stringByAppendingPathComponent:@"test.file"];
И журнал двух запусков приложений выглядит так: обратите внимание, как изменилась часть GUID:
loadCharacters: /var/mobile/Applications/ABE7E33E-439B-4258-8FC1-127A3CD00D87/test.file
loadCharacters: /var/mobile/Applications/71C02507-6347-4693-8CC1-537BE223179E/test.file
Что я делаю неправильно, или что мне не хватает?
РЕШЕНИЕ:
Сначала я сохранял сам NSHomeDirectory, а не подкаталог "Документы". Поскольку каталог приложений изменяется с каждым развертыванием, но копируются только файлы в каталоге "Документы", сохраненный файл теряется после каждого развертывания. Затем я использовал папку "Документы", но кто-то предложил мне, вероятно, поместить ее в подпапку "Документы", я сделал это, но забыл создать папку, поэтому файл не был сохранен. Я дважды потерпел неудачу на этом.:)
Простое сохранение в NSHomeDirectory() + "Documents/test.file" работает.