在文本视图中的 App 内打印调试日志

Print debug log inside App inside a text view

我实际上正在寻找一种在应用程序中显示 debug 日志的方法,例如在 UITextView 里面。我只是想在开发时调试而不是为了生产。

我已经搜索了一段时间,但您只是得到了有关如何更改调试日志和其他内容的布局的提示,但我没有看到如何访问调试输出的方法。

有没有人已经这样做了,或者有什么方法可以访问调试日志?我可以想象 Apple 完全阻止了这一点,你无法访问这些信息。

我想得到这个信息:


更新

我找到了可以 help printing the log 的东西。有人知道如何将它包含到项目中吗?

您可以查看这些链接 link 1 and link 2

以下代码是将调试日志文本保存在文本文件中。这也有助于在文本视图中获取调试文本。 试试这个:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                         NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *logPath = [documentsDirectory
                         stringByAppendingPathComponent:@"app.log"];

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

    NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:logPath error:nil] ;
    NSNumber *fileSizeNumber = [fileAttributes objectForKey:NSFileSize];

    long long fileSize = [fileSizeNumber longLongValue];

    if(fileSize > 8000000){

        freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],"w",stderr);

    }

每次你使用 NSLog() 时,将它(日志字符串)添加到一个数组中。然后使用 UITableView 显示手动(按钮)或自动更新(委托)的日志。