如何使用本地文件从iphone应用程序发送电子邮件附件

如何使用本地文件从iphone应用程序发送电子邮件附件,iphone,email,pdf-generation,Iphone,Email,Pdf Generation,我想将本地文件从resources文件夹发送到email,但它不起作用。如何添加本地文件。下面是从iphone的documents文件夹发送电子邮件的代码,但我想从resource文件夹发送 MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; picker.mailComposeDelegate = self; NSString*giveFileName=@"CPAC_Contract

我想将本地文件从resources文件夹发送到email,但它不起作用。如何添加本地文件。下面是从iphone的documents文件夹发送电子邮件的代码,但我想从resource文件夹发送

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
NSString*giveFileName=@"CPAC_Contract_Equine"; 
NSString *fileName;
//fileName = [[NSString alloc]initWithFormat:@"%@.pdf",giveFileName];

fileName = [[NSString alloc]initWithFormat:@"%@",giveFileName];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];

NSLog(pdfFileName);

NSMutableData *myPdfData = [NSMutableData dataWithContentsOfFile:pdfFileName];
[picker setSubject:@"CPAC Contract for Equine-Sam Veterinarian"];

[picker addAttachmentData:myPdfData mimeType:@"application/pdf" fileName:giveFileName];

[self.navigationController presentViewController:picker animated:YES completion:nil];

您发布的代码几乎是正确的,您只需要在应用程序包中输入文件路径。替换代码的这一部分:

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

 NSString *documentsDirectory = [paths objectAtIndex:0];

 NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
只需使其从捆绑包中加载文件:

 NSString *pdfFileName = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:fileName];

首先,什么资源文件夹?您是指Xcode项目中的资源组,这些文件只是添加到应用程序包中。@rckoenes是的,您是xcode中的rigt resource group,因为我们通常会在xcode中添加这样的任何图像。文件的mime类型是什么?请您在我的代码中编写或编辑,这样它就可以工作了。它不工作了。我已尝试在消息对话框中显示,但在发送电子邮件后它不会被附加。我没有我不知道mime类型是什么,因为我不知道您试图附加到电子邮件的文件。此外,在我发布的代码中,您将发现如何获取应用程序包中文件的文件路径。这会让你开始编写自己的解决方案。/Users/malikwahajahmed/Library/Application Support/iPhone Simulator/4.2/Applications/F6F1163B-7A66-4EA3-89A7-218C6C327C5F/CPAC.app/W9.pdf它显示了这个路径这不是应用程序包路径,我认为是文档目录路径,这是应用程序budle路径。您是否确保PDF包含在项目中,检查该文件是否在项目的
复制捆绑资源
列表中