在这个问题上找到了一些东西,但到目前为止没有任何效果。
我正在尝试使用以下代码写入文件末尾:
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];
当我逐步执行代码时,文件路径设置为“/var/mobile/Applications/1669D96A-1ABA-4A4F-D083-A90EB728691B/MyApp.app/Filename.txt”。
但是 NSFileHandle fileHandleForWritingAtPath 返回 nil。该代码不会引发异常/警告并继续正常运行。当我将文件读入字符串时,新文本不存在,只有最初在文件中的内容(在 Xcode 中键入)。我使用完全相同的代码来获取读取文件的路径,并且有效!
最佳答案
应用程序包是只读的。您不能写入包中的任何路径。这就是您获得 nil
文件句柄的原因。
关于ios - NSFileHandle fileHandleForWritingAtPath 返回 nil 和有效路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22055305/