iOS开发之真机中将NSLog日志存入文件并保存到document目录

1.自定义好方法

#pragma mark - 用户方法,将NSLog的输出信息写入到.log文件中// 将NSLog打印信息保存到Document目录下的文件

- (void)redirectNSlogToDocumentFolder{

NSArray*paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentDirectory = [paths objectAtIndex:0];NSString*fileName = [NSStringstringWithFormat:@"%@.log",[[NSDatealloc] initWithTimeIntervalSinceNow:8*3600]];// 注意不是NSData!NSString*logFilePath = [documentDirectory stringByAppendingPathComponent:fileName];// 将log输入到文件freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);}

2.在Appdelegate.m中调用

- (BOOL)application(UIApplication*)application didFinishLaunchingWithOptions(NSDictionary*)launchOptions{//制定真机调试保存日志文件[selfredirectNSLogToDocumentFolder];}

3.plist文件配置

您可以通过如下步骤来让应用程序支持文件共享:在应用程序的Info.plist文件中添加UIFileSharingEnabled键,并将键值设置为YES。将您希望共享的文件放在应用程序的Documents目录。

一旦设备插入到用户计算机,iTunes 就会在选中设备的Apps标签中显示一个File Sharing区域。此后,用户就可以向该目录添加文件或者将文件移动到桌面计算机中。如果应用程序支持文件共享,当文件添加到Documents目录后,应用程序应该能够识别并做出适当响应。例如说,应用程序可以将新文件的内容显示界面上。请不要向用户展现目录的文件列表并询问他们希望对文件执行什么操作。

然后通过真机调试,通过itunes查看共享文件

image.png

注意:

1.使用定向日志后,Xcode控制台将无法输入日志

2.如果App包没有看到Log内容,或者是Xcode正常打印日志,查看是否忘记设置程序为Debug状态

3.如果上架App,建议关闭此功能,除非App有文件分享等功能,否则将会苹果爸爸审核将会拒绝

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容