所以我有一段时间遇到这个问题而且无法让它运转起来!我一直在构建一个调查应用程序,用户只需输入信息并将其保存到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];
}
更新:
所以我刚刚在我的新手机上测试了这个,并且在发送电子邮件时没有附件?它在邮件应用程序和模拟器中,但是当收到邮件时附件已经消失了?任何人都可以帮忙??
答案 0 :(得分:1)
我刚试过你的代码,看起来还可以。添加此代码以查看您在该csv文件中实际拥有的内容。
NSString *strData = [[NSString alloc]initWithData:csvData encoding:NSUTF8StringEncoding];
NSLog(@"Output %@",strData);
答案 1 :(得分:0)
尝试检查csvData内容,它可能是空的。