iOS share sheets are a great way to allow your users to share content from your app. This is a great way to provide your users with the ability to share your app with their network of friends and family for you. A recommendation from somebody you trust is both more powerful than an advertisement and free for the app owner. It is also very easy to do.
Tutorial
Firstly, add this extension to the UIViewController to your project. It requires you to pass in your object and will present a share sheet for this object on the active UIViewController.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
// Extension | |
extension UIViewController { | |
func presentShareSheet(for object: Object) { | |
guard let text = object.text, | |
let image = object.image, | |
let url = object.url else { | |
return | |
} | |
let activityViewController = UIActivityViewController(activityItems: [text, image, url], applicationActivities: []) | |
viewController.present(activityViewController, animated: true, completion: nil) | |
} | |
} |
Next, we have the implementation, we want to create an object with three parameters (text, image, and url), then we call our presentShareSheet function from our extension.
As you can see we are doing this inside an IBAction, so we can create the share sheet whenever we like. And something like the image below is what you should see.
The full source code for a test project I have created for displaying iOS share sheets is available: