İçeriğe geç

MFMailComposeViewController kullanımı

Merhabalar bu yazımda iOS ile uygulama içerisinden mail gönderme işlemini nasıl gerçekleştirebileceğinizi paylaşacağım.

Bu işlem için MessageUI framework içerisinde bulunan MFMailComposeViewController sınıfını ve sınıf içerisindeki MFMailComposeViewControllerDelegate kullanarak kullanıcıya sonuç hakkında bilgi verebilirsiniz.

Aşağıda yazdığım örnekte kullanımını görebilirsiniz.

if MFMailComposeViewController.canSendMail() {
            let mailVC = MFMailComposeViewController()
            mailVC.mailComposeDelegate = self
            mailVC.setToRecipients(["mail.kenanatmaca@gmail.com"])
            mailVC.setSubject("Subject --")
            mailVC.setMessageBody(text, isHTML: false)
            present(mailVC, animated: true)
        } else {
            if let url = URL(string: "mailto:mail.kenanatmaca@gmail.com") {
                UIApplication.shared.open(url)
            }
        }
extension UIViewController: MFMailComposeViewControllerDelegate {
    func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {
        switch result {
        case .cancelled: //
        case .saved: //
        case .sent: //
        case .failed: //
        default: return
        }
        self.dismiss(animated: true, completion: nil)
    }
}

Yukardaki örnekte if bloğu içerisinde eğer cihazınızda mail uygulamasından giriş yaptıysanız true dönecek ve bloğun içerisindeki ilgili sayfanın present işlemi gerçekleşecektir. Burada açılan arayüz ile kullanıcı mail gönderebilir. Diğer durumda ise mail uygulamasına yönlendirme yapmış oluyoruz.

 

Tarih:iOS

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Copyright © 2020 Kenan Atmaca