iOS库应该如何处理对iPhone文件系统上的文件的日志记录?



我正在做一个iOS库项目,需要创建一个API,它接受一个NSString参数,该参数是一个路径,库将把一些调试消息写入该路径中的文件。

我做了一些关于登录iPhone文件系统中的文件的研究,一种方法是使用

freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);

这将重定向任何以下NSLog到一个文件…

虽然这看起来很容易,但我有一个问题:这是否也会将API消费者的应用程序(调用应用程序)的NSLog重定向到该文件?我不想要这种行为,因为我想要能够控制作为库的内容。

如果这是行为,我可以使用什么其他方法来实现我的需求?谢谢。

如果我理解正确,所需的功能是传递路径并将一些调试信息写入该路径上的文件?如果是这样的话,我认为你不应该将所有的NSLog调用重定向到一个文件;只要使用NSString writeToFile:就足够了:

-(void)writeToFile:(NSString*)path {
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:path];
NSError *error=nil;
NSString *myMessage="This is the data to write to the file";    
[myMessage writeToFile:fileName atomically:YES encoding:NSUTF8StringEncoding error:&error];
}

如果你想添加到那个文件,你可以使用NSFileHandle功能-查看这里的文档。

相关内容

  • 没有找到相关文章

最新更新