2012-04-03 5 views
5

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

2

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.

+0

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

+2

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. –

-1

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

6

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.

Cuestiones relacionadas