使用MFMessageComposeViewController发送SMS

Mzo*_*och 1 swift3

我希望我的应用程序发送短信,我当前的代码不起作用,这是以下步骤:

import MessageUI
Run Code Online (Sandbox Code Playgroud)

添加课程:

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)}

    }}
Run Code Online (Sandbox Code Playgroud)

并使用该功能:

 func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) {}
Run Code Online (Sandbox Code Playgroud)

那我错过了什么?谢谢.

小智 5

@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)
}
Run Code Online (Sandbox Code Playgroud)