Search code examples
iossmsuitextfieldmfmessagecomposeviewcontroller

how to fill in textComposer body with text from Text Fields


One of the functions of my app involves the user filling out three seperate text Fields ( bookingName, Guests and date), then sending the text in these Fields via sms using text composer. I am having trouble getting the text from these views into the body. Here is my code:

- (IBAction)send:(id)sender {

    MFMessageComposeViewController *textComposer = [[MFMessageComposeViewController alloc] init];
    [textComposer setMessageComposeDelegate:self];
    if ([MFMessageComposeViewController canSendText]) {
        [textComposer setRecipients:[NSArray arrayWithObject:@"XXXXXXX"]];
        [textComposer setBody:@"Booking Name: ,\nGuests: ,\n Date: .   "];


        [self presentViewController:textComposer animated:YES completion:NULL];
    } else {
        NSLog(@"Can't Open Text");
    }
}

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result

{
    switch (result) {

        case MessageComposeResultCancelled:
            NSLog(@"Cancelled");
            break;
        case MessageComposeResultFailed:
            break;
        case MessageComposeResultSent:
            break;
        default:
            break;
    }

I just dont know what to put in the "[textComposer setBody:" part,

I have tried so many different ways to no effect.

Thanks for your time!


Solution

  • Create a string for the message body first.

    NSString *body = [NSString stringWithFormat:@"Booking Name: %@,\nGuests: %@,\n Date: %@.   ", bookingName, guestCount, bookingDate];
    [textComposer setBody:body];