Estoy usando UIDocumentInteractionController
para mostrar el menú emergente "Abrir en ..." para que el usuario pueda abrir un documento en otra aplicación.¿Cómo comprobar si UIDocumentInteractionController no podrá abrir el documento debido a la aplicación externa faltante en el iPad?
Método presentOpenInMenuFromBarButtonItem:animated:
devuelve NO
en caso de que no haya ninguna aplicación habilitada para abrir un documento determinado (el menú no se mostrará). Pero ya es demasiado tarde para esperar hasta llegar tan lejos. Me gustaría desactivar el botón que inicia esa apertura si no es posible en lugar de aumentar las expectativas de un usuario y luego decir "lo siento, no es posible abrirlo".
¿Es posible consultar el sistema para ver si hay al menos una aplicación registrada para un tipo de documento particular? He comprobado canPreviewItem:
en QLPreviewController
, pero parece que no admite los mismos tipos de documento que UIDocumentInteractionController
puede manejar.
Esta fue la solución que adopté anteriormente, pero una palabra de advertencia para iOS 6. Parece que presentar y descartar el controlador de esta manera causa algunos efectos secundarios en UITabBar, específicamente, el 'UITabBarButton's (API privada) que compone la pestaña bar están ocultos pero no están ocultos. A partir de un poco de excavación, parece ser que los botones están configurados en 0 alfa, luego se ocultan en un bloque de finalización de animación al invocar el método 'presente'. Lamentablemente, el bloque de finalización de la animación se ejecuta después de que se llame al método 'descartar' para que los botones permanezcan ocultos. – Weaverfish
Tienes razón. Has encontrado una solución ? – FKDev
Cualquier solución a este problema ..? –