2011-01-26 11 views
8

Problema:
iOS App-a-Aplicación Trasnmission de datos utilizando la nueva API de soporte de documentos


Creación de aplicaciones empresariales de una suite de la naturaleza, y la necesidad de ser capaz de pasar datos de una aplicación a otra. Ejemplo: App1 es un lector de código de barras que produce y lista de inventario. App2 necesita una copia "nueva" de la misma información de lista de inventario que App1 acaba de producir para lograr su objetivo de producir órdenes de compra. Las dos aplicaciones y bases de datos son dos grandes para juntarlas en una sola aplicación, y la suite seguirá creciendo con más y más aplicaciones.


entendimiento:


entiendo perfectamente que "cada" aplicación está en su propia caja de arena. Sin embargo, al leer los documentos relacionados con la nueva API UIDocumentInteractionController, parece que una aplicación puede sumergirse fuera de la caja de arena solo un poco en "Lectura", "Ver" o "Abrir" un documento que no estaba separado del paquete o creado dentro de la aplicación.


flujo de datos:


estoy tratando de mantener la sencillez. He estado usando la aplicación de ejemplo DocInteraction descargada de Apple y otra aplicación ... llamada App1 para intentar trabajar con un archivo de texto simple. En App1, creo un archivo txt simple y lo guardo en la carpeta de documentos. (¿Pero esto todavía está dentro de la zona de pruebas de la aplicación?). en la muestra modificada de DocInteraction, he estado tratando de encontrar la manera de "Ver", "Abrir", o mejor aún "Leer" el archivo txt creado. Si puedo pasar un archivo txt simple entre los dos, puedo incluir una estructura CSV para actualizar las bases de datos en cada lado cuando se abren las aplicaciones.

He intentado utilizar las teclas de opciones de lanzamiento sin suerte.

En resumen, sólo parece que no puede sacarlo de mi cabeza:

  1. Cuando los datos de App1 tiene que ir?
  2. ¿Cómo encontrar los datos en la otra aplicación, digamos App2?
  3. ¿Cómo se puede "Abrir" el archivo que existe dentro de la zona de pruebas de otra aplicación?

Resultado Final: me han tratado de mantenerse alejado de la

Los documentos interacción con los documentos describen:

  • Vista previa de un documento o presentar opciones
  • el registro de su Soporte de Tipos de archivo
  • Abriendo archivos desde otras aplicaciones
  • visualización e impresión de Quick Look Avances

Es el "abrir archivos de otras aplicaciones" que más me interesa con. Me dirige a utilizar el método de la aplicación: didFinishLaunchingWithOptions: pasando los valores del diccionario para las claves. ¿Aquí es donde me pierdo? ¿Cómo configuro las claves para que sepa "DÓNDE" y "QUÉ" buscar? Y todavía no tengo claro cuál es el director adecuado para que la aplicación 1 guarde información para que las claves indiquen el lugar correcto.


archivos adjuntos de correo electrónico de apertura y archivos PDF se abren en iBooks no pueden ser los únicos lugares donde se puede utilizar esta API de Apple o de lo contrario no habría pasó por todo el trabajo, ya que se permiten hablar de Aplicación a aplicación


Nota: No estoy tratando de conseguir App1 para transmitir directamente los datos en archivos de App2. ¡No creo que Apple lo permita en absoluto! Intento que App1 comprima sus datos y los guarde en la ubicación correcta, de modo que cuando el usuario decida usar App2, los datos puedan estar disponibles para App2 "leyendo" los datos.


Si alguien tiene una aplicación de ejemplo, tutorial, o incluso una idea sólida de cómo conseguir este trabajo realmente apreciaría la ayuda.

-¡Gracias!

P.S. ¡Alguien con una reputación de 1.500 o superior, crea una etiqueta "UIDocumentInteraction" para stackoverflow!

Respuesta

7

Lo tengo trabajando el mes pasado. Aquí está mi modelo mental:

App1 crea un archivo en cualquier parte de su entorno limitado.

App1 llama docinteraction para mostrar la interfaz gráfica de usuario "Abrir en" para ese archivo

usuario escoge "Abrir en App2"

Las copias iOS el archivo de una caja de arena al otro y lanza App2.

App2 implementa didfinishlaunchingwithURL y carga el URL suministrado (que es la copia en su caja de arena)

+0

Los documentos ** ** directorio sería el lugar apropiado; incluso si no hace ninguna diferencia ahora, sugiero usar el directorio para futuras funcionalidades potenciales. –

+0

Gracias por la aclaración lógica. ¿Cómo obtiene el "didFinishLaunchingWithOptions:" la URL de inicio que asume puntos de regreso al nombre y la ubicación del archivo original? ¿Una copia de archivo completa realmente se copia, empaqueta y envía al segundo documento ... o solo a la URL donde encontrar el original? Si se copia el archivo completo, es posible que la copia se elimine y se deje en la carpeta de documentos de App2 para que App2 pueda usarlo en cargas posteriores por sí mismo. ¿O el archivo se elimina o se recupera justo después de que el usuario en App2 cambie de pantalla o ya no está viendo? – Newbyman

+0

La URL de inicio apunta a COPY en el entorno limitado de App2. Es una copia completa (debe ser, su aplicación no puede leer archivos fuera de ella). Creo que permanece ahí hasta que App2 elija eliminarlo. –

Cuestiones relacionadas