0

Hi I am writing the following code to refer a friend through SMS.

When I click on cell, the sms app opens with text but when again I tried for second time, it shows white color screen.

Here is my code

var controller1 = MFMessageComposeViewController()
    extension ReferaFriendController:UICollectionViewDelegate,UICollectionViewDataSource,MFMessageComposeViewControllerDelegate
    {
    if indexPath.item == 0
            {
                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
                    self.present(controller1, animated: true, completion: nil)
                }
            }
    func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) {
            self.dismiss(animated: true, completion: nil)
        } 
    }
Revanth Kausikan
  • 673
  • 1
  • 9
  • 21

1 Answers1

0

As far as I can see, there's no need to keep a reference to the MFMessageComposeViewController. Just move it to be created at the point you need it, inside your if closure:

if MFMessageComposeViewController.canSendText() {
    let controller = MFMessageComposeViewController()
    // ...
}
Adis
  • 4,512
  • 2
  • 33
  • 40