私が開発しているアプリは、ユーザーが画像とテキストの混合物を一度に友達に送信できるようにする機能に依存しています。
MFMessageComposeViewControllerがメッセージの本文に画像をユーザーに提供する方法を提供することを期待していましたが、明らかに本文にNSStringしか提案できません。
または、テキストを画像にレンダリングして送信することもできますが、ユーザーがMMSを介して画像を送信することを提案する方法がまだ見つかりません。
これらのいずれかを行う方法はありますか?
MMSの送信でも同じ問題が発生しました。
私はそれをこのように解決しました:
[UIPasteboard generalPasteboard].image = yourImage;
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:"]];
そこで、最初に必要な画像をクリップボードにコピーしてから、標準
MFMessageComposeViewControllerを開いてこの画像をクリップボードから貼り付けました。
そしてもちろん、あなたはあなたの電話でMMSのための適切な設定を持っているべきです。
以下のコードを使用する必要があると思います。貼り付けようとすると、png画像のデフォルトの画像タイプはjpegであるため、iMessageに表示されません。
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
NSData *data = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"aa1" ofType:@"png"]];
[pasteboard setData:data forPasteboardType:@"public.png"];
// または画像が jpeg の場合は以下のコード
[pasteboard setData:data forPasteboardType:@"public.jpeg"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:45263125"]];
iOS ネイティブ SDK 経由で MMS を送信することはできません。
ただし、連絡先に写真をiMessageで送信できます
この方法はテストされ、検証されています。コードで使用しました。
if (![MFMessageComposeViewController canSendText]) {
UIAlertView *alertV = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Your device not support SMS \nOr youiMessage にログインしていませんでした" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; [alertV show]; return; }
MFMessageComposeViewController *mVC = [[MFMessageComposeViewController alloc] init]; mVC.body = @"jjjj"; mVC.recipients = @[@"00XXXXXXXXXX"]; mVC.messageComposeDelegate = self; if ([MFMessageComposeViewController canSendAttachments]) { NSLog(@"ok"); } [mVC addAttachmentData: UIImageJPEGRepresentation([UIImage imageNamed:@"test.jpg"], 1.0) typeIdentifier:@"public.data"ファイル名:@"image.jpeg"];
[self presentViewController:mVC animated:YES completion:nil];
任意の jpeg jpg および png 形式を使用できます。
いいえ、iOS SDK を使用して MMS を送信することはできません。
ただし、 を使用して、テキストと画像の両方を電子メールで送信できますMFMailComposeViewController。