如何让我的程序从iPhone / iPad发送客户的日志文件数据?

时间:2011-10-12 10:03:20

标签: iphone objective-c ios email logging

我正在编写企业客户端/服务器应用程序。客户端是一个iOS应用程序,它使用Cocoa Lumberjack来创建日志文件。这些文件对于客户端调试和故障排除至关重要。该文件最大为1MB,但可以选择较小的文件。

我计划编写“电子邮件日志文件”按钮,但我无法弄清楚如何将其作为附件发送。我想我可以用我所有的日志消息填充电子邮件的正文,但这看起来有点难看。如果我想在发送之前将文件压缩为非文本格式,该怎么办?我还考虑过创建一个Web服务来将日志文件上传到服务器,但这似乎需要做很多工作,因为我需要弄清楚谁的日志文件是谁,并进行某种清除以保持整洁,等

当然,我不是第一个面对这个问题的人。别人怎么做这个?

提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:4)

以下是一些完整的工作代码,用于创建电子邮件,添加HTML正文,添加文本附件以及发送显示撰写视图。

确保您还定义资源路径。

NSData *textData = [[self getEmailAttachment] dataUsingEncoding:NSUTF8StringEncoding];
NSString *htmlData = [self getEmailBodyHTML];

/* Set up the mail compose view and put in the body/attachment */
MFMailComposeViewController *mailComposer = [[[MFMailComposeViewController alloc] init] autorelease];
[mailComposer setMessageBody:htmlData isHTML:NO];
[mailComposer addAttachmentData:textData mimeType:@"text/plain" fileName:@"logfile.txt"];

/* Set default subject */
[mailComposer setSubject:@"Email subject"];

mailComposer.mailComposeDelegate = self;        
[self presentModalViewController:mailComposer animated:YES];