我试图以看似标准的方式使用MFMailComposeViewController将图库中的视频附加到电子邮件中。
视频使用GPUImage框架以m4v格式录制,并通过自定义选择器进行选择。
选择器返回一个ALAsset,我从中检索了一个URL(我已将其启动到MPMoviePlayerViewController中,它存在且播放正常)。
当电子邮件启动进行预览时,它会显示一个视频图标,表示已附加视频。
当我将其发送到电子邮件地址时,该电子邮件根本没有附件。你能帮我找到下面代码的错误吗?
MFMailComposeViewController *mailpicker = [[MFMailComposeViewController alloc] init] ;
mailpicker.mailComposeDelegate = self;
mailpicker.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal ;
[mailpicker setSubject:@"Test email!"];
NSData *movieData = [NSData dataWithContentsOfURL:[[asset defaultRepresentation] url]];
NSLog(@"%@", [[asset defaultRepresentation] url]);
//I have tried all of the following;
[mailpicker addAttachmentData:movieData mimeType:@"video/x-m4v" fileName:@"Video.m4v"];
//[mailpicker addAttachmentData:movieData mimeType:@"application/m4v" fileName:@"Video.m4v"];
//[mailpicker addAttachmentData:movieData mimeType:@"video/m4v" fileName:@"Video.m4v"];
NSString *emailBody = @"Hey!";
[mailpicker setMessageBody:emailBody isHTML:YES];
[self presentModalViewController:mailpicker animated:YES];
由于
答案 0 :(得分:0)
知道了,我没有正确阅读文件。
我必须使用资产图书馆assetForURL来获取视频数据。
对于其他任何人,请看看这个;
[assetLibrary assetForURL:YOURURL resultBlock:^(ALAsset *asset) // substitute YOURURL with your url of video
但请注意,您可能需要压缩/缩小视频尺寸。