NSFileHandle fileHandleForWritingAtPath返回带有效路径的nil

时间:2014-02-26 22:55:05

标签: ios objective-c nsfilehandle

在这个问题上发现了一些事情,但到目前为止还没有任何效果。

我正在尝试使用以下代码写入文件的末尾:

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返回nil。该代码不会引发异常/警告并继续进行,就好了。当我将文件读入字符串时,新文本不存在,只有文件中最初的内容(在Xcode中键入)。我使用完全相同的代码来获取读取文件的路径,这是有效的!

1 个答案:

答案 0 :(得分:1)

应用包是只读的。您无法写入包中的任何路径。这就是为什么你得到一个nil文件句柄。