Verwenden von UIActivityViewController und UIActivityItemProvider zum Freigeben von PDF

Ich muss einige andere Dateien unter iOS freigeben / öffnen, z. ein Bild in iCloud oder ein PDF in iBooks. Es gibt einige Beispiele für Text und Bilder, aber nichts für etwas anderes ...

Ich habe mein eigenes @ erstelUIActivityItemProvider; vereinfachte Version hier:

class MyItemProvider: UIActivityItemProvider {

  override func item() -> AnyObject {
    self.placeholderItem
  }

  override func activityViewController(activityViewController: UIActivityViewController, dataTypeIdentifierForActivityType activityType: String?) -> String {
    return kUTTypePDF as String
  }

  func activityViewControllerPlaceholderItem(activityViewController: UIActivityViewController) -> AnyObject {
    return self.placeholderItem
  }
}

Und teile es mit so etwas wie:

let myPDF = NSData(contentsOfURL: NSBundle.mainBundle().URLForResource("testpdf", withExtension: "pdf")) {
let activityVC = UIActivityViewController(activityItems: [MyItemProvider(placeHolder: myPDF)], applicationActivities: nil)
self.presentViewController(activityVC, animated: true, completion: nil)

Ich erwarte einen geteilten Dialog wie:

Aber alles was ich bekomme ist:

Irgendwelche Vorschläge

Antworten auf die Frage(6)

Ihre Antwort auf die Frage