所以我遇到这个问题已经有一段时间了,就是无法解决!我一直在构建一个调查应用程序,用户只需在其中输入信息,并将其保存到csv文件中。我现在正处于需要将应用程序中的csv文件附加到电子邮件地址的阶段。。。
我有如下代码,它应该可以工作,但由于某种原因,它附加了一个"空白"csv文件,而不是包含数据的文件。我猜这一定与文件路径有关,但无法使其工作!!
- (IBAction)send:(id)sender {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *savedFilePath = [documentsDirectory stringByAppendingPathComponent:@"results.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];
}
更新:
所以我刚刚在我的新I-phone上测试了这个,当电子邮件发送时没有附件?它在邮件应用程序和模拟器中,但当收到消息时,附件已经不见了?有人能帮忙吗??
我刚刚尝试了您的代码,看起来还可以。添加此代码可以查看csv文件中的实际内容。
NSString *strData = [[NSString alloc]initWithData:csvData encoding:NSUTF8StringEncoding];
NSLog(@"Output %@",strData);
尝试检查csvData的内容,它可能是空的。