8

In my new iOS Project I'd like the end user to be able to MMS text and/or images(from TextField) in a UIButton Action . I've seen similar apps that has this functionality (with text, haven't seen one with images yet).

I have search in google but could not find how to do this, any help much appreciated

iMeMyself
  • 1,649
  • 13
  • 28
Gregory Ortiz
  • 143
  • 2
  • 7

1 Answers1

18

This will work fine

MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; 
pasteboard.persistent = YES;
pasteboard.image = [UIImage imageNamed:@"PDF_File.png"];

NSString *phoneToCall = @"sms:";
NSString *phoneToCallEncoded = [phoneToCall stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSURL *url = [[NSURL alloc] initWithString:phoneToCallEncoded];
[[UIApplication sharedApplication] openURL:url];    

if([MFMessageComposeViewController canSendText]) {
    NSMutableString *emailBody = [[NSMutableString alloc] initWithString:@"Your Email Body"];
    picker.messageComposeDelegate = self;
    picker.recipients = [NSArray arrayWithObject:@"123456789"];
    [picker setBody:emailBody];// your recipient number or self for testing
    picker.body = emailBody;
    NSLog(@"Picker -- %@",picker.body);
    [self presentModalViewController:picker animated:YES];
    NSLog(@"SMS fired");
}
Fahim Parkar
  • 30,974
  • 45
  • 160
  • 276
Manu
  • 4,730
  • 2
  • 20
  • 45
  • in your textfield, tap the textfield and paste it – Manu Oct 05 '12 at 04:44
  • put your image which you want to send. – Manu Oct 05 '12 at 05:07
  • Thanks so much. I look forward to testing out this code. I appreciate your help. – Gregory Ortiz Oct 05 '12 at 05:56
  • 4
    @VenkatManohar If I follow you, you're saying the end-user has to manually paste it. Anyway to do that programmatically? – Rob Oct 20 '12 at 05:32
  • @Rob: if i was helped to you. Vote ? – Manu Oct 20 '12 at 06:10
  • @Rob:Firstly thanks!! Once look at this question which i was asked. It's possible to send with the help of webservice or url very easily. Just have a look at this question, then you can get.. http://stackoverflow.com/questions/12971160/uipasteboard-doesnt-paste-audio-files – Manu Oct 20 '12 at 06:23
  • @VenkatManohar Agreed in principle, but in practice I'm not seeing compelling web service solutions that make sense for the average iOS developer. We really want something where we can seamlessly send that MMS (not requiring silly user intervention, but not get dragged into the financial transaction, either). None of the solutions seem to fit that bill (other than staging images on some cloud based service and then just SMS'ing the URL ... and even that's inelegant). – Rob Oct 20 '12 at 06:45
  • Does this still work? I couldn't get it to allow the pasting of an image (pasting other things worked) – Albert Renshaw Feb 17 '13 at 00:22
  • Doesn't this open the normal SMS app with empty content first? The MFMessageComposeView only opens in the then-backgrounded app... – hyouuu Mar 28 '13 at 03:39