¿Cómo funciona "Open With" alguna aplicación en iPhone?

Por lo que sé, desde iOS SDK 3.2, se agrega el event handlingl tipo de file y una aplicación de iOS se puede asociar con algún tipo de file para que otras aplicaciones puedan abrir este tipo de files con la aplicación.

Debido al mecanismo sandbox en iOS, me pregunto cuándo se abrirá un file en appA con appB, que se registró con este tipo de file, ¿qué sucederá? ¿Se copy este file a appB y tanto appA como appB conservan una copy de este file? Si la respuesta es sí, ¿es posible hacer que appB abra el file en la carpeta de documentos de la aplicación? No puedo encontrar ninguna documentation de Apple en esto.

Por ejemplo, appA almacena un documento Keynote en él, si abro este documento Keynote con la aplicación Keynote, ¿es posible dejar que la aplicación Keynote edite este documento para que después de la edición pueda ver el documento actualizado?

Cualquier ayuda es apreciada.

Hay algunas preguntas diferentes aquí.

Cuando registres tu aplicación para manejar types de files usando la input info.plist, los Document types estarán en la list de aplicaciones que se muestran cuando realizas una acción con ese file (por ejemplo, tocando un file adjunto en un correo electrónico). Luego, cuando se inicia la application:didFinishLaunchingWithOptions: , la application:didFinishLaunchingWithOptions: método application:didFinishLaunchingWithOptions: se ejecuta de manera normal, y el dictionary launchOptions contendrá la ruta al file que se envió a su aplicación. Lo que hagas con el file depende de ti, pero es una copy del file, no un enlace. Entonces, si el usuario realiza cambios en el file en la aplicación original, deben 'iniciar' su aplicación nuevamente con el nuevo file.

Vea aquí para get más información: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIApplicationDelegate/application:didFinishLaunchingWithOptions :

No puede acceder a la carpeta de documentos de ninguna otra aplicación con el SDK actual.

Además, para compartir documentos en iTunes (como páginas, numbers, etc.), busque en las dos inputs de info.plist los Document types y UIFileSharingEnabled . (Apple docs: http://developer.apple.com/library/ios/#documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW20 ) Básicamente, al configurar UIFileSharingEnabled a YES expondrá el directory /Documents de su aplicación en iTunes. Luego, otra vez depende de su mostrar al usuario una vez que están de vuelta en su aplicación lo que está en ese directory.

Sndbox implementado sobre el control de permissions estándar de Unix. Todas las aplicaciones se almacenan en carpetas con nombre único (en realidad, GUID), sin embargo, el propietario para ellas es el mismo mobile: mobile. Por lo tanto, parece que solo envía una ruta de file completa a la aplicación que abre el file correspondiente.