0

これが私のコードです:

NSArray *recipient = [NSArray arrayWithObjects:@"testemail@office.co.uk",nil];

NSString *fileName = @"SurveyResults.txt";
NSString *homeDir = NSHomeDirectory();
NSString *fullPath = [homeDir stringByAppendingPathComponent:fileName];

[super viewDidLoad];
if([MFMailComposeViewController canSendMail]) {
    MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
    mailViewController.mailComposeDelegate = self;
    [mailViewController setSubject:[NSString stringWithFormat:@"Place Holder Subject"]];
    [mailViewController setMessageBody:@"See Attached" isHTML:NO];
    [mailViewController setToRecipients:recipient];
    [mailViewController addAttachmentData:[NSData dataWithContentsOfFile:fullPath] mimeType:@"text/txt" fileName:fileName];

    [self presentModalViewController:mailViewController animated:YES];
} else
    NSLog(@"Device cannot send email at this time. Please check you are connected to the internet and try again");

問題は、MailComposer が起動すると、「添付ファイルを参照」の下に小さな txt ファイルの画像があり、その下に SurveyResults という名前が表示されますが、実際にメールを送信すると、txt ファイルが添付されていません。

4

1 に答える 1

0

次のことを試してみてください。NSURL問題は、データを埋めるために指定されたパスは、単なる文字列パスではなく、型である必要があるということです。

    NSURL *fileURL = [[NSURL alloc]initFileURLWithPath:string_path_of_the_file];
    NSData *data = [[NSData alloc]initWithContentsOfURL:fileURL];

    [mailViewController addAttachmentData:data mimeType:@"text/plain" fileName:fileNameString];   
     //mimeType needs to be changed accordingly
于 2012-12-03T09:30:12.083 に答える