2

重複の可能性:
iPhone でビデオ/オーディオが添付されたメールを送信できない!

そのため、ここ数日、ビデオをメールで送信しようとしています。動画の選択には成功したのですが、メールの入れ方がわかりません。ありがとう。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    [picker dismissViewControllerAnimated:NO completion:NULL];
    NSURL *mediaUrl = [info objectForKey:UIImagePickerControllerMediaURL];

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





    if ([MFMailComposeViewController canSendMail]){

        [mailcomposer setToRecipients:[NSArray arrayWithObjects:@"random@random.com", nil]];
        [mailcomposer setSubject:@""];
        [mailcomposer setMessageBody:@"" isHTML:NO];
        [mailcomposer addAttachmentData:mediaUrl mimeType:@"video/mp4" fileName:@"Video"];
        [self presentViewController:mailcomposer animated:YES completion:NULL];

    }


}
4

2 に答える 2

4

URL を添付ファイルとして追加しています。その URL を次のようにデータに変換して NSData を添付する必要があります。

NSData *videoData = [NSData dataWithContentsOfURL:mediaUrl];

その後

[mailcomposer addAttachmentData:videoData mimeType:@"video/mp4" fileName:@"Video"];
于 2012-10-27T19:06:19.513 に答える
0
[mailcomposer addAttachmentData:mediaUrl mimeType:@"video/mp4" fileName:@"Video"];

真剣に?のドキュメントを読んでいませんMFMailComposerViewControllerか? URL ではなく、がaddAttachmentData:必要ですNSData。(NSData を使用して) ファイルをメモリに読み込み、そのデータをメール コンポーザ コントローラに追加する必要があります。

しかし、とにかくこれを行うべきではありません。大きなビデオ ファイルは大量のメモリを消費します。

于 2012-10-27T19:07:43.917 に答える