Hier ist eine konkrete Lösung für Swift 3.0+ basierend auf der akzeptierten Antwort. Beachten Sie, dass dies wie die akzeptierte Antwort nur für die iOS Mail-App und nicht unbedingt für andere Apps funktioniert.
Implementierung:
class MessageWithSubject: NSObject, UIActivityItemSource {
let subject:String
let message:String
init(subject: String, message: String) {
self.subject = subject
self.message = message
super.init()
}
func activityViewControllerPlaceholderItem(_ activityViewController: UIActivityViewController) -> Any {
return message
}
func activityViewController(_ activityViewController: UIActivityViewController, itemForActivityType activityType: UIActivityType) -> Any? {
return message
}
func activityViewController(_ activityViewController: UIActivityViewController,
subjectForActivityType activityType: UIActivityType?) -> String {
return subject
}
}
Verwendung:
Hier ist ein Anwendungsbeispiel. Beachten Sie, dass es gut funktioniert, dies als erstes Element im Array activityItems zu verwenden und alle folgenden zusätzlichen Elemente einzuschließen:
let message = MessageWithSubject(subject: "Here is the subject", message: "An introductory message")
let itemsToShare:[Any] = [ message, image, url, etc ]
let controller = UIActivityViewController(activityItems: itemsToShare, applicationActivities: nil)