2016-06-27 133 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

相關問題