Pergunta

encontrei algumas coisas sobre esse assunto, mas até agora nada funcionou.

Estou tentando escrever no final de um arquivo usando o seguinte código:

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];

Quando passo pelo código, filePath é definido como "/var/mobile/Applications/1669D96A-1ABA-4A4F-D083-A90EB728691B/MyApp.app/Filename.txt".

No entanto, o NSFileHandle fileHandleForWritingAtPath retorna nulo.O código não gera uma exceção/aviso e continua como se estivesse bem.Quando leio o arquivo em uma string, o novo texto não está lá, apenas o que está inicialmente no arquivo (digitado no Xcode).Eu uso exatamente o mesmo código para obter o caminho de leitura do arquivo e funciona!

Foi útil?

Solução

O pacote de aplicativos é somente leitura.Você não pode gravar em nenhum caminho do pacote.É por isso que você ganha um nil identificador de arquivo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top