Прикрепить видео к электронной почте в iOS - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь прикрепить видео к электронному письму.Это не локальное видео, поэтому я записываю его в файл.Затем я получаю данные из этого файла и прикрепляю к письму.Когда приходит электронное письмо, единственное, что есть, это имя файла «video.mp4» без видео.

MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;

NSData *videoData = [NSData dataWithContentsOfURL:url];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *tempPath = [documentsDirectory stringByAppendingFormat:@"/video.mp4"];
NSLog(@"writing");
BOOL success = [videoData writeToFile:tempPath atomically:NO];
if (success){

    NSError *error = nil;
    NSData *data = [NSData dataWithContentsOfFile:tempPath];
    NSLog(@"path: %@", tempPath);
    if (error) {
        NSLog(@"%@", [error localizedDescription]);
    }else{
        [controller addAttachmentData:data mimeType:@"video/mp4" fileName:@"video.mp4"];
        NSLog(@"Data has loaded successfully.");
    }
}

1 Ответ

0 голосов
/ 06 июня 2018

Я думаю, что единственный способ попробовать - это форматировать почту как HTML.В противном случае вы всегда будете отправлять вложение.

NSString *messageBody = @" /*Some HTML format containing HTML5 video player*/";
[controller setMessageBody:messageBody isHTML:YES];

Поэтому вам нужно найти подходящие теги CSS и HTML для вашего видео.Но не забудьте протестировать его с большинством почтовых клиентов, поскольку вы можете увидеть его по-разному.

...