Chapter 20. Mail and Messages

Your app can present an interface allowing the user to edit and send a mail message or an SMS message. Two view controller classes are provided by the Message UI framework; you’ll need to import MessageUI. In addition, the Social framework lets you post to Twitter or Facebook on the user’s behalf. You’ll need to import Social. The classes are:

MFMailComposeViewController
Allows composition and sending of a mail message.
MFMessageComposeViewController
Allows composition and sending of an SMS message.
SLComposeViewController
Allows composition and sending of a Twitter or Facebook post. Alternatively, you can prepare and post a message directly using SLRequest.

UIActivityViewController (Chapter 13) also provides a unified interface for permitting the user to choose any of the built-in messaging milieus and to send a message through it. However, the Message UI framework and the Social framework remain important, because the user can be presented with a message form without having to pass through an activity view, and because you can fill in fields, such as the recipient field in a mail composition form, that UIActivityViewController doesn’t let you fill in.

Another option is to form a URL of the appropriate scheme and hand it to UIApplication’s openURL: method. For example, given a mailto: URL, openURL: can generate a proposed mail message with an initial recipient field and subject field. (See the Apple URL Scheme Reference for a list of built-in URL ...

Get Programming iOS 9 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.