NSFileHandle fileHandleForWritingAtPath возвращает ноль с допустимым путем
-
21-12-2019 - |
Вопрос
нашел кое-что по этой проблеме, но пока ничего не помогло.
Я пытаюсь записать в конец файла, используя следующий код:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Filename" ofType:@"txt"];
NSString *textToWrite = @"Test";
NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];
[fileHandle seekToEndOfFile];
[fileHandle writeData:[textToWrite dataUsingEncoding:NSUTF8StringEncoding]];
[fileHandle closeFile];
Когда я прохожу код, для filePath устанавливается значение «/var/mobile/Applications/1669D96A-1ABA-4A4F-D083-A90EB728691B/MyApp.app/Filename.txt».
Однако NSFileHandle fileHandleForWritingAtPath возвращает ноль.Код не вызывает исключения/предупреждения и продолжает работу, как будто все в порядке.Когда я читаю файл в строку, нового текста нет, есть только тот материал, который изначально находится в файле (введенный в Xcode).Я использую тот же код, чтобы получить путь для чтения файла, и это работает!
Решение
Пакет приложений доступен только для чтения.Вы не можете писать ни по одному пути в пакете.Вот почему вы получаете nil
дескриптор файла.