2012-09-10 19 views
5

¿Es posible utilizar una UIPasteboard con nombre (es decir, no la global) para transferir datos entre dos aplicaciones?Nombrado UIPasteboard entre las aplicaciones?

  • las aplicaciones son completamente independientes entre sí, por lo que tienen diferentes identificadores de paquete de diferentes proveedores
  • me gustaría usar una mesa de trabajo con nombre, de modo propio contenido del usuario en la mesa de trabajo global no se sobrescribe

documentos de Apple dicen:

de portapapeles pueden ser públicas o privadas. Las tablas públicas se llaman placas de sistema; las aplicaciones crean las tablas privadas y, por lo tanto, se llaman hojas de aplicación.

La implicación es que una mesa de trabajo puede ser "global y público" o "nombre y privada".

Creé dos aplicaciones, con diferentes identificadores de paquetes, y parezco poder pasar cosas de una aplicación a la otra usando una carpeta privada con nombre. ¿Pero es solo una característica del Simulador de iOS, o algo que realmente es compatible pero no está bien documentado?

¡Gracias por cualquier idea!

Respuesta

9

se puede establecer una cadena personalizada para el valor de la mesa de trabajo y el uso que a través de sus aplicaciones por lo que sus aplicaciones tienen que acceder al valor con su cadena única:

UIPasteboard *pasteboard = [UIPasteboard pasteboardWithName:@"youruniquestring" create:YES]; 

[pasteboard setPersistent:YES]; 

//save the unique identifier string that we created earlier 
[pasteboard setString:@"your message"]; 
+0

Gracias por la respuesta. Dice específicamente "sus aplicaciones", pero me preocupan más las "dos aplicaciones", no necesariamente dos aplicaciones del mismo proveedor. – Matthew

+1

Ya sea que las aplicaciones sean tuyas o de cualquier persona, siempre y cuando estén al tanto de la clave, entonces estás bien. Este es el mismo método que utiliza OpenUDID, que es una forma de compartir una clave única entre cualquier aplicación que utilice este método. – rooster117

+0

Impresionante, gracias de nuevo. ¡La mejor respuesta! :-D – Matthew

1

Se apoyó. Tenga en cuenta, sin embargo, que la tabla de correcciones nombrada desaparecerá si se eliminan ambas aplicaciones que la configuraron, así que no la use para almacenar nada de lo que no tenga una copia de seguridad.

+0

Hmm, no entiendo por qué habría alguna asociación con un pasteboard nombrado y dos aplicaciones. A menos que iOS realice un seguimiento de las aplicaciones que acceden a una carpeta de trabajo determinada. (Y eso suena un poco loco) #brainhurts – Matthew

+0

@Noah: estaba buscando esto, pero no pude encontrarlo, pero lo observé ... ¿está documentado en alguna parte? ¿Puedo preguntar si las carpetas persisten incluso después de una copia de seguridad/limpieza/restauración? – LolaRun

+0

No creo que esté documentado en ningún lado, solo descubierto por experimentación. Bastante seguro de que la copia de seguridad/restauración también limpiará las tablas. –

Cuestiones relacionadas