MFMessageComposeViewController смс отправил делегат - PullRequest
4 голосов
/ 08 января 2012

Я реализовал в своем приложении MFMessageComposeViewController для отправки смс. Это хорошо работает, но я не знаю, можно ли узнать, когда сообщение действительно отправлено.

-(void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSArray *)recipients {

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

    if([MFMessageComposeViewController canSendText]) {

      controller.body = bodyOfMessage;    
      controller.recipients = recipients;
      controller.messageComposeDelegate = self;
      [self presentModalViewController:controller animated:YES];

    }
}

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

  [self dismissModalViewControllerAnimated:YES];

  if (result == MessageComposeResultCancelled) {

    NSLog(@"Message cancelled");

  } else if (result == MessageComposeResultSent) {

    NSLog(@"Message sent");
  }

}

if (result == MessageComposeResultSent) соответствует только кнопке «отправить», но не является предупреждением, если сообщение было отправлено. Знаете ли вы, есть ли способ делегировать или знать, было ли отправлено SMS или нет?

Большое спасибо!

1 Ответ

4 голосов
/ 08 января 2012

Насколько мне известно, начиная с iOS 5.0, невозможно получить успешную отправку сообщения или успешную доставку.Это то же самое для MFMailComposeViewController.

. Как видите, MFMailComposeViewController довольно разреженный.

...