我的应用程序中有一个将字符串写入文件末尾的方法:
-(void)log:(NSString *)str
{
if (![[NSFileManager defaultManager] fileExistsAtPath:self.logPath])
[[NSFileManager defaultManager] createFileAtPath:self.logPath contents:nil attributes:nil];
NSError *err = nil;
NSFileHandle *myHandle = [NSFileHandle fileHandleForWritingToURL:[NSURL fileURLWithPath:self.logPath] error:&err];
if (!myHandle)
NSLog(@"Failed to write file - %@", err.localizedDescription);
[myHandle seekToEndOfFile];
[myHandle writeData:[str dataUsingEncoding:NSUTF8StringEncoding]];
[myHandle closeFile];
}
它工作了一段时间,然后开始失败;fileHandleForWritingToURL
返回nil
。我得到的错误是 NSCocoaErrorDomain 错误 24。但我在任何地方都找不到对这个错误的任何引用。谷歌没有帮助。有没有人见过这个?难道我做错了什么?