【问题标题】:NSFileHandle fileHandleForWritingAtPath returns nil with valid pathNSFileHandle fileHandleForWritingAtPath 返回 nil 且路径有效
【发布时间】:2014-02-26 22:55:05
【问题描述】:

在这个问题上找到了一些东西,但到目前为止没有任何效果。

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

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

【问题讨论】:

    标签: ios objective-c nsfilehandle


    【解决方案1】:

    应用程序包是只读的。您不能写入包中的任何路径。这就是您获得nil 文件句柄的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-07
      • 2018-07-08
      • 1970-01-01
      • 2016-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多