2011-08-12 16 views

Respuesta

16

UIDocumentInteractionController es tu amigo.

Básicamente funciona así:

  1. App 1 registros como ser capaz de manejar archivos de tipo XYZ
  2. ! 2 implementos UIDocumentInteractionController y dará a los usuarios las opciones de "enviar el archivo a App1" (Creo que esto debe ser activado por el usuario)
  3. La aplicación 1 implementa -(BOOL)application:openURL:sourceApplication:annotation: y se ocupa del archivo transferido que se guardará en su directorio Documents/Inbox. Desde allí, puede copiar el archivo en otro lugar y luego manipularlo, asegurándose de limpiar eliminando el original guardado en la carpeta Bandeja de entrada.

referencia disponibles Clase here

Documento guía de programación interacción disponible here

+0

Así que esto significa que App1 sólo será capaz de acceder al archivo si y sólo si App2 lo permite, pero no a la inversa (la forma en que funciona el sistema operativo Windows). ¿Estoy en lo correcto? – Lopper

+0

Correcto, el archivo solo se puede enviar a la aplicación1, la aplicación1 no puede extraerlo de la aplicación2. PERO, al decir eso, podrías intentar registrar un esquema de URI personalizado que permita a la aplicación 1 "solicitar" algo de la aplicación2 y hacer que la aplicación2 responda en consecuencia. Aunque esto solo es teoría, no lo he intentado yo mismo. – Rog

+0

¿es posible enviar varios archivos? - como seleccionar varias fotos para adjuntar a EMail en la aplicación de fotos estándar. – Sagrian

3

Si está desarrollando ambas aplicaciones, puede almacenar información compartida en el llavero, siempre y cuando los identificadores de su paquete se ajusten al mismo identificador de semilla del paquete. Vea here para más información. Por supuesto, si está haciendo ambas aplicaciones, puede usar un esquema de URL para pasar también datos codificados en base64.

Actualización: Tal como se menciona a continuación, UIDocumentInteractionController es excelente, pero solo está disponible para 4.2 y superiores, por lo que está eliminando una gran parte de sus usuarios si desea usarlo.

Cuestiones relacionadas