2016-06-27 45 views
0

我想实现使用MFMessageComposeViewController对象发送文本消息。但是当我试图声明MFMessageComposeViewControllerDelegate协议。在ViewController.swift我得到以下错误:使用未声明的类型 'MFMessageComposeViewControllerDelegate迅速'使用未声明的类型'MFMessageComposeViewControllerDelegate swift'

ViewController.swift的:

class ViewController: UIViewController, MFMessageComposeViewControllerDelegate { 

@IBAction func sendMessage(sender: AnyObject) { 
    var messageVC = MFMessageComposeViewController() 

    messageVC.body = "Enter a message"; 
    messageVC.recipients = ["Enter tel-nr"] 
    messageVC.messageComposeDelegate = self; 

    self.presentViewController(messageVC, animated: false, completion: nil) 
} 


override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 
} 

有人可以帮我吗?

+0

'MFMessageComposeViewController'不提供问题?你是否导入了'MessageUI'(它的框架)? – Larme

回答

1

添加MessageUI框架,

import UIKit 
import MessageUI 

class ViewController: UIViewController, MFMessageComposeViewControllerDelegate { 

} 

希望它有帮助

1

所有你需要的是你的SWIFT文件的顶部添加

import MessageUI 

。此外,您最好添加发送消息前检查

if MFMessageComposeViewController.canSendText() 

,不要忘记要关闭的消息控制器的委托方法

func messageComposeViewController(controller: MFMessageComposeViewController, didFinishWithResult result: MessageComposeResult) { 
    dismissViewControllerAnimated(true, completion: nil) 
} 
1

您还需要委托实施

func messageComposeViewController(controller: MFMessageComposeViewController, didFinishWithResult result: MessageComposeResult) { 
     switch result.rawValue { 
     case MessageComposeResultCancelled.rawValue: 
      print("message cancelled") 

     case MessageComposeResultFailed.rawValue: 
      print("message failed") 

     case MessageComposeResultSent.rawValue: 
      print("message sent") 

     default: 
      break 
     } 

     controller.dismissViewControllerAnimated(true, completion: nil) 
    } 

认为这很有帮助!

+0

谢谢你。我做到了 – PersianBlue

相关问题