¿Cómo habilitar el intercambio de archivos para mi aplicación?


158

Tengo una aplicación de edición de imágenes donde los usuarios pueden aplicar efectos a las fotos. ¿Cómo podría habilitarlo para que los usuarios puedan ver mi aplicación en iTunes en la pestaña Compartir archivos y luego simplemente arrastre y suelte fotos en la aplicación?

Algunos de los lectores de libros electrónicos como Stanza funcionan así y sería una buena opción. Tal vez alguien pueda señalar un tutorial o recurso que hable sobre cómo habilitar y usar esta técnica.


Respuestas:


282

Solo tiene que configurar la tecla UIFileSharingEnabled( Application Supports iTunes file sharing) en la lista de información de su aplicación. Aquí hay un enlace para la documentación. Desplácese hacia abajo hasta la parte de soporte para compartir archivos.

En el pasado, también era necesario definir CFBundleDisplayName( Bundle Display Name), si aún no estaba allí. Más detalles aquí .


57
Para aquellos de ustedes desafiados como yo, es decir: la aplicación admite el intercambio de archivos de iTunes al editar el archivo info.plist en Xcode.
LavaSlider

¿Hay alguna razón por la cual no podría tener efecto en una aplicación? Lo habilité pero la aplicación no aparecerá en iTunes File Sharing
rraallvv

@rraallvv, ¿está intentando con una compilación de desarrollo o una compilación ad-hoc?
Vin

@rraallvv probablemente tenga que configurar sus tipos de archivo ... (tipos de documentos en destino / información)
nielsbot

Y en caso de que alguien más esté arrancando el cabello que no funciona, verifique si tal vez tiene más de una * Info.plist.
Tony Adams

42

Según el documento de apple :

Compatibilidad
con el uso compartido de archivos La compatibilidad con el uso compartido de archivos permite que las aplicaciones hagan que los archivos de datos del usuario estén disponibles en iTunes 9.1 y versiones posteriores. Una aplicación que declara su soporte para compartir archivos pone a disposición del usuario el contenido de su directorio / Documents. El usuario puede mover archivos dentro y fuera de este directorio según sea necesario desde iTunes. Esta característica no permite que su aplicación comparta archivos con otras aplicaciones en el mismo dispositivo; ese comportamiento requiere el tablero o un objeto controlador de interacción de documentos.

Para habilitar el uso compartido de archivos para su aplicación, haga lo siguiente:

  1. Añadir el UIFileSharingEnabled clave de archivo Info.plist de su aplicación, y establecer el valor de la clave de SI . (El nombre de la clave real es "La aplicación admite el intercambio de archivos de iTunes")

  2. Coloque los archivos que desee compartir en el directorio Documentos de su aplicación.

  3. Cuando el dispositivo está conectado a la computadora del usuario, iTunes muestra una sección de Uso compartido de archivos en la pestaña Aplicaciones del dispositivo seleccionado.

  4. El usuario puede agregar archivos a este directorio o mover archivos al escritorio.

Las aplicaciones que admiten el uso compartido de archivos deben poder reconocer cuándo los archivos se han agregado al directorio de Documentos y responder adecuadamente. Por ejemplo, su aplicación puede hacer que el contenido de cualquier archivo nuevo esté disponible desde su interfaz. Nunca debe presentar al usuario la lista de archivos en este directorio y pedirle que decida qué hacer con esos archivos.

Para obtener información adicional sobre la clave UIFileSharingEnabled, consulte Referencia de clave de lista de propiedades de información .


1
¿Por qué la aplicación no debe presentar al usuario la lista de archivos?
Cutetare

1
@Cuterare: Supongamos que solo desea archivos mp3 en el directorio de documentos, pero el usuario coloca los archivos .pdf y luego los deja, hasta el usuario o los maneja al final. Así que cuide lo que está haciendo con los archivos. Es una referencia del documento de Apple, visite url.
Nico

¿Cómo puedo exportar los detalles del registro desde Windows PC?
Vineesh TP

13

El nuevo XCode 7 solo requerirá la clave 'UIFileSharingEnabled' en Info.plist. 'CFBundleDisplayName' ya no es necesario.

Una pista más: no solo modifique la lista de información del objetivo 'pruebas'. La aplicación principal y las 'pruebas' tienen Info.plist diferente.


Hola. Agregué "La aplicación admite el uso compartido de archivos de iTunes" - "SÍ" en mi lista de información. Pero la línea se elimina automáticamente cuando inicio el botón "Ejecutar" en Xcode. ¿No tienes el mismo problema?
M.Masa

6

Si lo encuentra por orden alfabético en plist, debería ser "La aplicación admite el intercambio de archivos de iTunes".


2

Tal vez sea obvio para ustedes, pero me rasqué la cabeza por un tiempo porque la carpeta no apareció en la aplicación de archivos. De hecho, necesitaba almacenar algo en la carpeta. podrías lograr esto

  • guardar algunos archivos en el directorio de documentos de la aplicación
  • mueva algo de iCloud Drive a su aplicación (en el cuadro de diálogo de movimiento se mostrará la carpeta). Tan pronto como no haya más archivos en su carpeta, desaparecerá de la pestaña "en mi iPad".

Gracias por agregar esto. La única otra cosa que encontré confusa es que la primera vez que activa el uso compartido de archivos y guarda un archivo, debe expulsar y volver a conectar su dispositivo para que aparezca cualquier cosa. En caso de que alguien más pierda el tiempo jugando con esto.
Cosworth66

1

En Xcode 8.3.3 agregue una nueva fila en .plist con valor verdadero

La aplicación admite el uso compartido de archivos de iTunes

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.