Я заметил, что 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, а не в подкаталоге «Documents». Поскольку каталог приложения меняется при каждом развертывании, но копируются только файлы в каталоге «Документы», сохраненный файл теряется после каждого развертывания. Затем я использовал папку «Документы», но кто-то предложил мне поместить ее в подпапку «Документы». Я сделал это, но забыл создать папку, поэтому файл не был сохранен. Я дважды провалился на этом. :)
Простое сохранение в NSHomeDirectory () + "Documents / test.file" работает.