Creating a Log File in an iOS app

后端 未结 2 844
南旧
南旧 2021-01-31 06:08

So in my app I have a bunch of data that I\'d like to write to a log file, and then display it within a UITextView when I click a button. I know how to toggle the

相关标签:
2条回答
  • 2021-01-31 06:38

    The basic idea is that you create the file, and append to it every time you log a new line. You can do it quite easily like this:

    Writing to the file:

    NSString *content = @"This is my log";
    
    //Get the file path
    NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"myFileName.txt"];
    
    //create file if it doesn't exist
    if(![[NSFileManager defaultManager] fileExistsAtPath:fileName])
        [[NSFileManager defaultManager] createFileAtPath:fileName contents:nil attributes:nil];
    
    //append text to file (you'll probably want to add a newline every write)
    NSFileHandle *file = [NSFileHandle fileHandleForUpdatingAtPath:fileName];
    [file seekToEndOfFile];
    [file writeData:[content dataUsingEncoding:NSUTF8StringEncoding]];
    [file closeFile];
    

    Reading:

    //get file path
    NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"myFileName.txt"];
    
    //read the whole file as a single string
    NSString *content = [NSString stringWithContentsOfFile:fileName encoding:NSUTF8StringEncoding error:nil];
    
    0 讨论(0)
  • 2021-01-31 06:38

    I thought was a class out there to do this automatically as after no luck created my own.

    NSLogger is a lightweight class for iOS versions 3.0 and above. It allows developers to easily log different 'events' over time which are locally stored as a .txt file.

    https://github.com/northernspark/NSLogger

    0 讨论(0)
提交回复
热议问题