ios - 发送消息的 Swift 代码不起作用

标签 ios swift xcode

我刚开始学习编码,我正在尝试创建一个简单的代码来在 IOS 上发送消息。我已确保导入 MessageUI 框架。当我在我的模拟器上运行它时,它失败并显示 THREAD 1 : SIGNAL SIGABRT。如果这只是一个小错误,我深表歉意,因为我经常犯这样的错误,不想浪费任何人的时间。这是我的代码:

import UIKit
import MessageUI


class ViewController: UIViewController, MFMessageComposeViewControllerDelegate {



@IBOutlet weak var messageLabel: UILabel!
override func viewDidLoad() {
    super.viewDidLoad()

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()

}
 @IBAction func SendSMS(sender: AnyObject) {
    let messageVC = MFMessageComposeViewController()

    messageVC.recipients = ["5146276051"]
    messageVC.body = messageLabel.text
    messageVC.messageComposeDelegate =  self
    self.presentViewController(messageVC, animated: true, completion: nil)


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

    switch (result.rawValue) {

    case MessageComposeResultCancelled.rawValue:
        print("Message was cancelled")
        self.dismissViewControllerAnimated(true, completion: nil)

    case MessageComposeResultFailed.rawValue:
        print("Message has failed")
        self.dismissViewControllerAnimated(true, completion: nil)

    case MessageComposeResultSent.rawValue:
        print("Message was sent")
        self.dismissViewControllerAnimated(true, completion: nil)

    default:
        break
    }
}

}

非常感谢!

最佳答案

您好,尝试在物理设备上使用您的代码,它应该可以工作。

顺便说一句,请在您的代码中添加检查设备是否支持发送消息:

        @IBAction func SendSMS(sender: AnyObject) {
            //Checking whether device support message sending
            if (MFMessageComposeViewController.canSendText() == false) { return }

            let messageVC = MFMessageComposeViewController()

            messageVC.recipients = ["5146276051"]
            messageVC.body = messageLabel.text
            messageVC.messageComposeDelegate =  self
            self.presentViewController(messageVC, animated: true, completion: nil)
        }

这样你就可以避免例如在模拟器上崩溃。

关于ios - 发送消息的 Swift 代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40564693/

相关文章:

ios - 类型“UIView”没有成员“layoutFittingCompressedSize”

ios - rsync 错误 : some files could not be transferred (code 23) Command PhaseScriptExecution failed with a nonzero exit code

iOS8检查remotenotificationtype的权限

ios - 在 Swift 4 中使用滑动操作删除文件

ios - 使用并行测试一次运行所有测试时,输入文本字段不稳定

swift - 带有 UIViewController 内部按钮的 TableView

xcode - NSTable insertRowsAtIndexes 动画

ios - 无法将包含撇号的用户输入发送到 sqlite3 数据库 (Obj-C)

ios - 使用 AVMutableVideoComposition 导出时出现视频方向问题

ios - 分析 : How to detect 32-bit only devices?