我一直在构建一个调查应用程序,用户只需在其中输入信息并将其保存到 csv 文件中。我现在处于需要将应用程序中的 csv 文件附加到电子邮件地址的阶段,因此当用户点击提交时,它会自动将 csv 文件作为附件发送到电子邮件中,我的代码如下:
- (IBAction)sendid)sender {
NSString *savedFilePath = @"../contact.csv";
NSData *csvData = [NSData dataWithContentsOfFile:savedFilePath];
MFMailComposeViewController *mailcomposer = [[MFMailComposeViewController alloc] init];
[mailcomposer setMailComposeDelegate:self];
[mailcomposer addAttachmentData:csvData mimeType"text/csv" fileName"contact.csv"];
[mailcomposer setToRecipients[@"[email protected]"]];
[mailcomposer setSubject:self.subject.text];
[mailcomposer setMessageBody:self.message.text isHTML:NO];
[self presentModalViewController:mailcomposer animated:YES];
}
-(void) mailComposeController: (MFMailComposeViewController *)controller didFinishWithResultMFMailComposeResult)result errorNSError *)error
{
[self dismissModalViewControllerAnimated:YES];
}
- (id)initWithNibNameNSString *)nibNameOrNil bundleNSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
然而,这并没有附加 csv 文件...我感觉这可能与该行有关
NSString *savedFilePath = @"../contact.csv";
但是不确定。如果有人可以提供帮助,请告诉我......我已经达到了这个临界点。
问题可能在于您正在使用相对路径加载 NSData
。
NSString *savedFilePath = @"../contact.csv";
NSData *csvData = [NSData dataWithContentsOfFile:savedFilePath];
尝试创建文件的完整路径:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *savedFilePath = [documentsDirectory stringByAppendingPathComponent"results.csv"];
NSData *csvData = [NSData dataWithContentsOfFile:savedFilePath];
这里我假设 contact.csv
在文档目录中。
关于ios - 自动附加电子邮件 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26485458/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |