2016-12-27 5 views
1

Я хочу, чтобы мое приложение, чтобы отправить SMS и мой текущий код не работает, вот шаги следуют:Отправка SMS с помощью MFMessageComposeViewController

import MessageUI 

добавить класс:

MFMessageComposeViewControllerDelegate

затем Я использовал кнопку:

@IBAction func Messages(_ sender: UIButton) { 


    if MFMessageComposeViewController.canSendText() == true{ 
     let recipients:[String] = ["1500"] 
     let messageController = MFMessageComposeViewController() 
     messageController.messageComposeDelegate = self // implement delegate if you want 
     messageController.recipients = recipients 
     messageController.body = "Your_text" 
     self.present(messageController, animated: true, completion: nil) 

     func messageComposeViewController(controller: MFMessageComposeViewController, 
              didFinishWithResult result: MessageComposeResult) { 

      // Dismiss the message compose view controller. 
      controller.dismiss(animated: true, completion: nil)} 

    }} 

и использовать функцию:

func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) {} 

так что я пропустил? Спасибо.

+1

Почему вы добавили функцию 'didFinishWithResult' внутри блока if? Это должен быть метод уровня класса. –

+0

@NiravD находится за пределами всего блока кнопок. – Mzoch

+0

Посмотрите на свой вопрос, как выглядит этот метод 'didFinishWithResult' находится внутри блока if метода' Messages'. –

ответ

3
@IBAction func Messages(_ sender: UIButton) { 
    if MFMessageComposeViewController.canSendText() == true { 
     let recipients:[String] = ["1500"] 
     let messageController = MFMessageComposeViewController() 
     messageController.messageComposeDelegate = self 
     messageController.recipients = recipients 
     messageController.body = "Your_text" 
     self.present(messageController, animated: true, completion: nil) 
    } else { 
     //handle text messaging not available 
    } 
} 

func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) {  
    controller.dismiss(animated: true, completion: nil) 
} 
+0

Я не посылаю сообщение для меня – Pavlos

Смежные вопросы