2

MFMailComposeViewController用来发送文件。15mb 以下的文件一切正常。一切都结束了,文件根本不会附加到MFMailComposeViewController视图中。并不是电子邮件服务器不接受,而是它从一开始就没有附加。

如果有办法解决这个问题,有人有什么想法吗?

我知道许多电子邮件服务无法处理超过 5 或 10mb 的附件,但其他服务允许您使用更大的文件大小。

MFMailComposeViewController *mail = [[[MFMailComposeViewController alloc] init] autorelease];
mail.mailComposeDelegate = self;
NSString* path = [NSString stringWithFormat:@"%@/%@/%@", NSHomeDirectory(), @"Documents", fileName];
NSData *data = [NSData dataWithContentsOfMappedFile:path]; //也尝试了具有相同结果的dataWithContentsOfFile
[mail addAttachmentData:data mimeType:@"audio/x-caf" fileName:[NSString stringWithFormat:@"%@.caf", label]];
[appDelegate.tabBarController presentModalViewController:邮件动画:YES];
4

2 回答 2

3

在 2009 年之前的 iPhone 或 iPod 上将 15 MB 的任何内容加载到 RAM 中会真正突破进程可用内存的限制,因此存在上限也就不足为奇了。我不会试图说服撰写视图接受更大的附件。相反,我建议您将文件传输到某个外部服务器,然后通过电子邮件发送指向它的链接或从那里发送邮件。

于 2009-11-02T02:39:45.867 回答
0

目前它有 21mb 的限制(与 iOS 15 相关)。但是当按下 Try 时,我至少可以发送 24mb。25mb 无法附加,MFMailComposeViewController 完全被系统关闭。

在此处输入图像描述

于 2022-02-04T13:04:34.027 回答