【问题标题】:Refer a friend through SMS in swift 4在swift 4中通过短信推荐朋友
【发布时间】:2019-08-03 03:36:37
【问题描述】:

您好想通过短信推荐朋友,我编写了以下代码。如果用户选择打开带有文本的 SMS 但它没有再次取消用户将无法返回应用程序。

if indexPath.item == 1
        {
            //SMS
            if MFMessageComposeViewController.canSendText() {

                let urlToShare = self.referalmodeldata[0].referralCodeOnly

                controller1.body = "Hey I just gave an Awesome Assessment on App you can also try it. I scored , Try to beat my score \(String(describing: urlToShare))"

                controller1.messageComposeDelegate = self as? MFMessageComposeViewControllerDelegate
                self.present(controller1, animated: true, completion: nil)
            }
        }

【问题讨论】:

    标签: ios swift sms refer


    【解决方案1】:

    您没有在代码中正确实现MFMessageComposeViewControllerDelegate

    首先你需要用你的UIViewController确认MFMessageComposeViewControllerDelegate,如下图:

    class ViewController: UIViewController, MFMessageComposeViewControllerDelegate {
    

    接下来你需要添加它的委托方法,如下所示:

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

    那你需要更换

    controller1.messageComposeDelegate = self as? MFMessageComposeViewControllerDelegate
    

    controller1.messageComposeDelegate = self
    

    演示代码为:

    import UIKit
    import MessageUI
    
    class ViewController: UIViewController, MFMessageComposeViewControllerDelegate {
    
        @IBAction func sendText(_ sender: Any) {
            if (MFMessageComposeViewController.canSendText()) {
                let controller = MFMessageComposeViewController()
                controller.body = "Message Body"
                controller.messageComposeDelegate = self
                self.present(controller, animated: true, completion: nil)
            }
        }
    
        func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) {
            self.dismiss(animated: true, completion: nil)
        }
    }
    

    【讨论】:

    猜你喜欢
    • 2019-08-05
    • 2011-05-05
    • 1970-01-01
    • 2017-06-25
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    相关资源
    最近更新 更多