import UIKit
import MessageUI
class MessageComposerViewController : UIViewController,
MFMailComposeViewControllerDelegate,
MFMessageComposeViewControllerDelegate {
...
func sendEmail() {
let emailVc = MFMailComposeViewController()
emailVc.mailComposeDelegate = self
emailVc.setSubject("Seasons Greetings!")
emailVc.setMessageBody("<b>Merry Christmas!<br/>
From Trip Wire</b>", isHTML: true)
emailVc.setToRecipients(["hello@world.christmas"])
presentViewController(emailVc, animated: true,
completion: nil)
}
func mailComposeController(
controller: MFMailComposeViewController,
didFinishWithResult result: MFMailComposeResult,
error: NSError?) {
dismissViewControllerAnimated(true, completion: nil)
}
func sendSms() {
let smsVc = MFMessageComposeViewController()
smsVc.body = "Seasons greetings! From the Trip Wire team";
smsVc.recipients = ["5556789"]
smsVc.messageComposeDelegate = self;
presentViewController(smsVc, animated: true,
completion: nil)
}
func messageComposeViewController(
controller: MFMessageComposeViewController,
didFinishWithResult result: MessageComposeResult) {
dismissViewControllerAnimated(true, completion: nil)
}
...
}
Tuesday, 22 December 2015
Swift - Sending Emails and SMS from app
Opening up a pre-populated message composer in iOS which can be used to send an email or SMS is surprisingly easy. There is however, some issues you may encounter when testing this on a simulator where it lags and then crashes. So it is best to have a physical device available if you plan on testing this. I have also heard that having a singleton instance of your composer and showing this when required can help alleviate these issues. However, I needed to be able to send SMS/Emails based on a push notification, and on a physical device I didn't encounter these issues. Here's how I did it:
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment