画像データでメッセージを送りたい。だから私は使用しMFMessageComposeViewController
ました。ただし、そのコントローラーは SMS サービスのみを提供します。そこでUIPasteBoard
、添付の画像データを使用しました。しかし、それも機能しません。メッセージを入力するときに作成される「貼り付け」ボタンはありません。での画像の添付UIPasteBoard
は明らかに成功しました。MFMessageComposeViewController
を使用しても問題は解決しないと思います。どうすれば目標を達成できますか?
6 に答える
これは、現在のMessageUI APIでは不可能です。MSMessageComposeViewControllerは、MFMailComposeViewControllerのように添付ファイルを受け入れません。
現在これを行う唯一の方法は、たとえばREST呼び出しを介してmmsを送信できる外部サービスを使用することです。
GSMAは、まさにこの目的のためにREST仕様を定義しています: http ://www.gsmworld.com/oneapi/reference_documentation-version_1.html (このページの複数のPDF)
この仕様を実装しているローカルサービスプロバイダーを探してみてください。
OneAPI MMS仕様への直接wikiリンクを追加するだけです:http://gsma.securespsite.com/access/Access%20API%20Wiki/MMS%20RESTful%20API.aspxおよびPHP / Javaサンドボックスへのリンクhttps:/ /github.com/OneAPI/GSMA-MMSをローカルでテストできるOneAPI。乾杯。
この方法はテストされ、検証されています。コードで使用しました。
if (![MFMessageComposeViewController canSendText]) {
UIAlertView *alertV = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Your device not support SMS \nOr you hadn't login your iMessage" 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" filename:@"image.jpeg"];
[self presentViewController:mVC animated:YES completion:nil];
任意の jpeg jpg および png 形式を使用できます。
ここに投稿したのと同じ質問がありました。 バグがあり、MFMessageComposeViewController
以下のコードを使用すると、画像を挿入できるというメッセージが表示されます
NSString *phoneToCall = @"sms: 123-456-7890";
NSString *phoneToCallEncoded = [phoneToCall stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSURL *url = [[NSURL alloc] initWithString:phoneToCallEncoded];
[[UIApplication sharedApplication] openURL:url];