iphone - sobre - Abrir en+UIDocumentInteractionController: cómo filtrar opciones en SDK iOS 6(canPerformActions está en desuso)
no puedes crear un filtro sobre un intervalo que contenga combinaciones verticales (2)
Creo que es porque Apple quiere que uses el nuevo control UIActivity .
Aquí está la documentación:
Aquí se trata de un control personalizado desarrollado para admitir muchas aplicaciones de terceros:
http://www.cocoacontrols.com/platforms/ios/controls/uiactivitycollection
Y esta pregunta resuelve cómo podrías hacer tu propia UIActivity :
https://stackoverflow.com/a/12766330/736384
Por lo tanto, si no desea que el usuario pueda utilizar los métodos copiar: e imprimir: simplemente pase estas actividades al UIActivityViewController , como esto:
[activityView setExcludedActivityTypes:[NSArray arrayWithObjects:UIActivityTypeCopyToPasteboard, UIActivityTypePrint, nil]];
Todas las actividades predeterminadas se enumeran en la parte inferior del enlace de documentación de Apple.
Desde que se lanzó el nuevo SDK (iOS 6), el método delegado documentInteractionController:canPerformAction:
of UIDocumentInteractionControllerDelegate
está en desuso.
Usando ese método, pudo evitar acciones predeterminadas como print:
y copy:
para aparecer.
Se está llamando al método en la versión actual de iOS 6, pero en futuras versiones no se llamará a este método y mi aplicación mostrará acciones que no deseo admitir.
Leí la documentación disponible para UIDocumentInteractionController y su delegado y no puedo encontrar otra forma de hacer lo que hago en el método canPerformAction.
¿Algunas ideas?
Como ventaja adicional, sería genial poder filtrar aplicaciones como el correo o twitter (que aparece de forma predeterminada) pero supongo que esto no es posible.
De acuerdo con el hecho de que desaprobar ''canPerformAction'' en el delegado es problemático, perdimos el control de grano fino que solíamos tener.
Sin embargo, si todo lo que desea es permitir que un documento se abra en otra aplicación y desea eliminar Copiar, Imprimir e incluso Correo, ¿creo que es mejor usar la versión de método UIDocumentInteractionController
para presentar el UIDocumentInteractionController
?
es decir, para su UIDocumentInteractionController
use UIDocumentInteractionController
presentOpenInMenuFromBarButtonItem:animated:
or presentOpenInMenuFromRect:inView:animated:
(en lugar de presentOptionsMenuFromBarButtonItem:animated:
or presentOptionsMenuFromRect:inView:animated:
De esta manera, de forma predeterminada, solo mostrará las aplicaciones que pueden abrir su documento y oculta Correo, Copiar e Imprimir.