在app中附加电子邮件?

时间:2014-11-10 09:07:45

标签: ios csv email-attachments

所以我有一段时间遇到这个问题而且无法让它运转起来!我一直在构建一个调查应用程序,用户只需输入信息并将其保存到csv文件中。我现在处于需要将应用程序中的csv文件附加到电子邮件地址的阶段......

我有如下代码,它应该工作,但由于某种原因附加一个'空白'csv文件而不是带有数据的文件。我猜它必须与文件路径有关但是不能得到它工作!!

- (IBAction)send:(id)sender {

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *savedFilePath = [documentsDirectory stringByAppendingPathComponent:@"result‌s.csv"];
    NSData *csvData = [NSData dataWithContentsOfFile:savedFilePath];

    MFMailComposeViewController *mailcomposer = [[MFMailComposeViewController alloc] init];
    [mailcomposer addAttachmentData:csvData mimeType:@"text/csv" fileName:@"results.csv"];
    [mailcomposer setToRecipients:@[@"gpsflighttrial@gcap.eu"]];
    [mailcomposer setSubject:self.subject.text];
    [mailcomposer setMessageBody:self.message.text isHTML:NO];
}

更新:

所以我刚刚在我的新手机上测试了这个,并且在发送电子邮件时没有附件?它在邮件应用程序和模拟器中,但是当收到邮件时附件已经消失了?任何人都可以帮忙??

2 个答案:

答案 0 :(得分:1)

我刚试过你的代码,看起来还可以。添加此代码以查看您在该csv文件中实际拥有的内容。

NSString *strData = [[NSString alloc]initWithData:csvData encoding:NSUTF8StringEncoding];
NSLog(@"Output %@",strData);

答案 1 :(得分:0)

尝试检查csvData内容,它可能是空的。