iOS 打印nslog 写入文件
时间: 2023-05-23 13:04:35 浏览: 190
A:
在 iOS 中,我们可以通过以下步骤将 NSLog 输出的信息写入到文件中:
1. 获取应用沙盒的 Documents 目录路径
```objective-c
NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
```
2. 设置日志文件的名称和路径
```objective-c
NSString *logFilePath = [documentsPath stringByAppendingPathComponent:@"log.txt"];
```
3. 获取标准输出流和标准错误流
```objective-c
freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding], "w", stderr);
freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding], "w", stdout);
```
4. 或者直接覆盖 NSLog 函数,将日志信息输出到文件中
```objective-c
#define NSLog(...) printf("%s\n",[[NSString stringWithFormat:__VA_ARGS__] UTF8String]);
```
完成以上步骤后,我们就可以在应用沙盒的 Documents 目录中找到 log.txt 文件,该文件中包含了应用运行时的日志信息。注意,写入文件的信息是在应用运行时实时输出的,因此需要及时查看文件内容以便调试问题。
阅读全文