在iOS SDK中,如何帮助我的用户从我的应用程序发送混杂SMS的彩信?

时间:2012-05-07 17:47:07

标签: iphone ios sms mms

我正在开发的应用程序依赖于能够帮助用户一次性向他们的朋友发送混合的图像和文本。

我希望MFMessageComposeViewController能提供一些方法来为用户提供消息正文中的图像,但显然我只能为正文建议NSString。

或者,我可以将文本渲染到图像中,然后发送,但我仍然没有找到建议用户通过彩信发送图像的方法。

有没有办法做这些事情?

4 个答案:

答案 0 :(得分:4)

发送彩信时遇到了同样的麻烦 我以这种方式解决了这个问题:

[UIPasteboard generalPasteboard].image = yourImage;
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:"]];

首先,我将所需的图像复制到剪贴板,然后打开标准
MFMessageComposeViewController并从剪贴板粘贴此图片 当然,您应该在手机上设置合适的彩信设置。

答案 1 :(得分:3)

我认为,您应该使用以下代码。因为默认情况下,当您尝试粘贴时,图像类型为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"]];

答案 2 :(得分:1)

我们无法通过iOS原生SDK发送彩信。

但是我们可以将图片发送给联系人

此方法已经过测试和验证。我在我的代码中使用它。

  

if(![MFMessageComposeViewController canSendText]){

    UIAlertView *alertV = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Your device not support SMS \nOr you
     

没有登录您的iMessage" delegate:nil cancelButtonTitle:@" Ok"   otherButtonTitles:nil,nil];           [alertV show];           返回;       }

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格式。

答案 3 :(得分:0)

不,您无法使用iOS SDK发送彩信。

然而,您可以使用MFMailComposeViewController通过电子邮件发送文字和图片。