我正在开发的应用程序依赖于帮助用户一次性将图像和文本混合发送给他们的朋友的能力。
我希望 MFMessageComposeViewController 能够提供某种方式来为用户提供消息正文中的图像,但显然我只能建议正文使用 NSString。
或者,我可以将文本渲染到图像中,然后也将其发送,但我仍然没有找到建议用户通过彩信发送图像的方法。
有没有办法做这两件事?
我在发送彩信时遇到了同样的麻烦。
我以这种方式解决了它:
[UIPasteboard generalPasteboard].image = yourImage;
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:"]];
所以首先我将所需的图像复制到剪贴板,然后打开标准
MFMessageComposeViewController
并从剪贴板粘贴此图像。
当然,您的手机上应该有适合 MMS 的设置。
我想,你应该使用下面的代码。因为默认图像类型是 jpeg,因为当您尝试粘贴时,iMessage 中不会显示 png 图像。
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 发送彩信。
但是我们可以通过 iMessage 向联系人发送图片
该方法经过测试和验证。我在我的代码中使用了它。
if (![MFMessageComposeViewController canSendText]) {
UIAlertView *alertV = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Your device not support SMS \nOr you
没有登录你的 iMessage”委托: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 发送彩信。
但是,您可以使用 . 通过电子邮件发送文本和图像MFMailComposeViewController
。