Si bien es obvio que no podemos recuperar una lista de aplicaciones instaladas en iOS, ¿hay algún truco que nos permita determinar la lista de aplicaciones registradas para un tipo de archivo dado? Es decir, la lista que el usuario verá en el menú Abrir en ... para ese tipo de archivo en particular. canOpenURL solo devuelve un valor booleano, pero lo ideal sería que nos devuelva una lista de las aplicaciones instaladas compatibles. ¿Algunas ideas?Recuperar de forma programada la lista de aplicaciones instaladas que admiten un tipo de archivo dado
Respuesta
Dudo que cualquiera de sus dos preguntas ("determinar la lista de aplicaciones para un tipo de archivo dado" o "cómo implementar 'abrir en ...'") sea posible en las versiones actuales de iOS ya que los usuarios no ven archivos individuales en las pantallas de inicio que muestran aplicaciones. Tampoco puede una aplicación hacer un evento "abrir una aplicación separada con este archivo específico" (que es algo fácilmente realizable en un Macintosh con eventos de Apple).
Pero estas suenan como una gran característica, las solicitudes que puede presentar con Apple en http://bugreporter.apple.com (que puede iniciar sesión, si usted es un desarrollador de Apple registrado). Si suficientes personas solicitan estas características (and the potential "open in..." functionality is indeed a frequently requested feature), Apple considerará incluirlas en futuras versiones de iOS.
Puede ver este programa de ejemplo. Puede ser que te ayude. Ha utilizado la instancia de la clase UIDocumentaInteractionController con su propiedad UTI (Unique Type Identifier). Ayuda a recuperar la lista de aplicaciones instaladas en su teléfono que admiten el tipo de archivo que ha abierto en su aplicación. Es posible que tenga que volver a escribir la propiedad UTI un poco según su conveniencia
http://developer.apple.com/library/ios/#samplecode/DocInteraction/Introduction/Intro.html
Abrir en duda es posible gracias a la UIDocumentInteractionController
sólo tiene que crear instancias ejemplo UIDocumentInteractionController:
//Following in header file:
UIDocumentInteractionController *docInteractionController;
implementar el delegado :
<UIDocumentInteractionControllerDelegate>
.m:
//Here the url is the document URL that you want to open (or you want to apply open in functionality)
self.docInteractionController = [UIDocumentInteractionController interactionControllerWithURL:url];
self.docInteractionController.delegate = self;
método Open En Será como siguiente:
- (void) openIn: (id) sender {
[self.docInteractionController presentOptionsMenuFromBarButtonItem:sender animated:YES];
}
y una vez que haya terminado:
[self.docInteractionController dismissMenuAnimated:YES];
y eso es todo. Esto listará la lista de aplicaciones admitidas para el documento y al seleccionarlas se ejecutará la aplicación correspondiente con la URL del documento con la que creamos la instancia.
- 1. Alphabatize lista de aplicaciones instaladas
- 2. Obtener lista de aplicaciones de Android instaladas
- 3. Obtener lista de todas las aplicaciones instaladas
- 4. ¿Cómo recuperar una lista de fuentes disponibles/instaladas en android?
- 5. obtener lista de aplicaciones instaladas en iphone objetivo-c
- 6. Pylint de forma recursiva para un nombre de archivo dado
- 7. DOS: ¿Lista de directorio que excluye un tipo de archivo?
- 8. Obtenga aplicaciones instaladas en un sistema
- 9. Recuperar lista de permisos
- 10. ¿Cómo hacer que la transparencia PNG funcione en navegadores que no la admiten de forma nativa?
- 11. ¿Dónde almacena el simulador de iPhone las aplicaciones instaladas?
- 12. Obteniendo una lista de aplicaciones capaces de abrir un tipo de archivo
- 13. C++ 0X memory_order sin vallas, aplicaciones, chips que admiten
- 14. ¿Cómo obtengo una lista de impresoras instaladas?
- 15. Incorporar recursos de forma programada en un ensamblado .NET
- 16. ¿Qué tipos de letra admiten las aplicaciones de iPhone?
- 17. Versiones de bases de datos en aplicaciones instaladas usando Delphi
- 18. Crear NSScrollView de forma programada en un NSView - Cocoa
- 19. Cómo eliminar un archivo de un servidor SFTP de forma programada utilizando SharpSSH?
- 20. python mecanize - recuperar un archivo de aspnetForm submitControl que activa la descarga de un archivo
- 21. Cambiando de forma programada la propiedad del identificador de UIBarButtonItem
- 22. Obtener iconos de todas las aplicaciones instaladas en Android
- 23. ¿Compila Java de forma programada con JavaCompiler?
- 24. ¿Qué sistemas de bases de datos admiten un tipo de datos ENUM, que no?
- 25. Obtenga una lista de todas las aplicaciones instaladas en Django y sus atributos
- 26. Agregando elementos de forma programada a un diseño relativo
- 27. Agregando de forma programada nodos secundarios a un jstree
- 28. ¿Las aplicaciones móviles híbridas admiten notificaciones push?
- 29. ¿Cómo recuperar el tipo de .NET del parámetro StoredProcedure dado en SQL?
- 30. Filtrar aplicaciones que no se pueden abrir al obtener todas las aplicaciones instaladas
Creo que su respuesta es probablemente correcta, pero quiero asegurarme de que quede clara. No estoy tratando de implementar Open In ... mismo, solo me gustaría averiguar qué aplicaciones se mostrarán allí para un tipo determinado. ¿Eso cambia algo? – RealCasually
No hay una API para obtener una lista (o matriz) de qué aplicaciones responden a qué archivos, tampoco. Otra cosa para nuestra lista de deseos. –