Öffnen in + UIDocumentInteractionController : wie filter-Optionen in der SDK von iOS 6 (canPerformActions ist veraltet)
Da das neue SDK Version (iOS 6), die delegate-Methode documentInteractionController:canPerformAction:
des UIDocumentInteractionControllerDelegate
ist veraltet.
Mit dieser Methode Sie in der Lage waren, um zu verhindern, dass Standard-Aktionen wie print:
und copy:
zu erscheinen.
Die Methode aufgerufen wird, ist in der aktuellen version von iOS 6, aber in zukünftigen Versionen wird diese Methode nicht aufgerufen werden und meine app zeigt Aktionen, die ich nicht unterstützen wollen.
Ich Lesen Sie die verfügbare Dokumentation für die UIDocumentInteractionController und dessen Stellvertretung, und ich bin nicht in der Lage zu finden einen anderen Weg, das zu tun, was ich in der canPerformAction Methode.
Irgendwelche Ideen?
Als plus, würde es großartig sein, in der Lage, filter-apps wie mail oder twitter (die standardmäßig angezeigt wird), aber ich denke, dass dies nicht möglich ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, es ist, weil Apple will, dass Ihnen die Verwendung der neuen UIActivity Kontrolle.
Sind es hier die Dokumentation:
http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIActivity_Class/Reference/Reference.html
Hier ist es ein custom control entwickelt, um viele Drittanbieter-apps:
http://www.cocoacontrols.com/platforms/ios/controls/uiactivitycollection
Und diese Frage löst, wie könnte Sie Ihre eigenen UIActivity:
https://stackoverflow.com/a/12766330/736384
So, wenn Sie nicht möchten, das Benutzer verwenden können kopieren: und drucken: Methoden übergeben Sie diese Aktivitäten, um die UIActivityViewController, wie diese:
Alle Standard-Aktivitäten werden aufgelistet, am unteren Rand der Apple-Dokumentation link.
Einigten sich auf die Tatsache, dass die veralteten 'canPerformAction' in der Delegat ist lästig, wir verloren die feine Körnung Kontrolle, die wir verwendet zu haben.
Allerdings, wenn alles, was Sie wollen ist es, ein Dokument in einer anderen app, und wollte zu entfernen, zu Kopieren, zu Drucken und auch E-Mail -, ich denke, du bist besser dran mit
OpenIn
version der Methode zu präsentieren, dieUIDocumentInteractionController
?d.h. für Ihre
UIDocumentInteractionController
verwendenpresentOpenInMenuFromBarButtonItem:animated:
oderpresentOpenInMenuFromRect:inView:animated:
(statt
presentOptionsMenuFromBarButtonItem:animated:
oderpresentOptionsMenuFromRect:inView:animated:
)Diese Weise, standardmäßig, es werden nur die apps anzuzeigen, die können öffnen Sie Ihr Dokument, und versteckt E-Mail, Kopie und Drucken.