title: MFMessageController crash sometimes
body: <p>I have the concept of sharing to contacts in my App and used MFMessageComposeViewController.</p>
  
  <pre><code>-(IBAction)btnAddClicked:(id)sender {
  
      @try {
  
          selections = [[NSMutableArray alloc] init];
          for(NSIndexPath *indexPath in arSelectedRows) {
              NSMutableDictionary *searchable = [[NSMutableDictionary alloc
                                                  ]init];
  
              [searchable setObject:[[contactsArray objectAtIndex:indexPath.row]objectForKey:@"Phone"]forKey:@"Phone"];
              [selections addObject:searchable];
          }
          if([selections count]&gt;0)
          {
              NSString *temp1=@"";
              for(int i=0;i&lt;[selections count];i++)
              {
  
                  toRecepients=[[selections objectAtIndex:i]objectForKey:@"Phone"];
  
                  temp1=[temp1 stringByAppendingString:toRecepients];
                  temp1=[temp1 stringByAppendingString:@","];
  
              }
  
              temp1 = [temp1 substringToIndex:[temp1 length]-1];
  
  
              if(![MFMessageComposeViewController canSendText]) {
                  UIAlertView *warningAlert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Your device doesn't support SMS!" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
                  [warningAlert show];
                  return;
  
  
              }
  
              NSArray *recipents = [temp1 componentsSeparatedByString:@","];
  
            MFMessageComposeViewController *messageController = [[MFMessageComposeViewController alloc] init];
              messageController.messageComposeDelegate = self;
              messageController.navigationBar.topItem.leftBarButtonItem.title = @"Cancel";
              [messageController setRecipients:recipents];
              [messageController setBody:self.message];
  
              [self presentModalViewController:messageController animated:YES];
          }
  
          else{
              UIAlertView *warningAlert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Select the contacts you would like to share to" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
              [warningAlert show];
              return;
  
  
  
          }
  
      }
  
          @catch (NSException *exception) {
              if (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPhone)
              {
                  ErrorView *errorView=[[ErrorView alloc]initWithNibName:@"ErrorView" bundle:nil];
                  if([[[UIDevice currentDevice]systemVersion]floatValue]&lt;5.0)
                  {
                      [self presentModalViewController:errorView animated:YES];
                  }
                  else
                  {
                      [self presentViewController:errorView animated:YES completion:nil];
                  }
                  [errorView release];
  
              }
              if (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad) {
                  ErrorView *errorView=[[ErrorView alloc]initWithNibName:@"ErrorView~iPad" bundle:nil];
                  if([[[UIDevice currentDevice]systemVersion]floatValue]&lt;5.0)
                  {
                      [self presentModalViewController:errorView animated:YES];
                  }
                  else
                  {
                      [self presentViewController:errorView animated:YES completion:nil];
                  }
                  [errorView release];
  
              }
          }    }
  
      - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult) result {
          switch (result) {
              case MessageComposeResultCancelled:
              {
                  UIAlertView *warningAlert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Failed to send SMS!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
                  [warningAlert show];
                  break;
              }
  
              case MessageComposeResultFailed:
              {
                  UIAlertView *warningAlert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Failed to send SMS!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
                  [warningAlert show];
                  break;
              }
  
              case MessageComposeResultSent:
              {
                  NSString *messa=[NSString stringWithFormat:@"Shared to %lu contact(s)",(unsigned long)[selections count]];
                  UIAlertView *warningAlert = [[UIAlertView alloc] initWithTitle:@"Succesful" message:messa delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
                  [warningAlert show];
                  break;
              }
  
              default:
                  break;
          }
  
          [self dismissViewControllerAnimated:YES completion:nil]; 
  }
  </code></pre>
  
  <p>This is the code Im using, which crashes sometimes and displays the error </p>
  
  <pre><code>Assertion failed: (result == KERN_SUCCESS), function +[XPCMachSendRight wrapSendRight:], file /SourceCache/XPCObjects/XPCObjects-46/XPCMachSendRight.m, line 27.
  </code></pre>
  
  <p>I have put breakpoint to debug, but xcode doesn't showup where the error is produced.</p>
  
  <p>Any ideas/ suggestions would be appreciable..</p>