Supongo que se trata de un conjunto de UITouchs. Esto no funcionará ya que UITouch no implementa NSCoding (creo).
Deberá extraer la información que necesita de cada UITouch y luego ponerla en algo que se ajuste a NSCoding.
NSSet * someSet = ...;
NSData * serializedSet = [NSKeyedArchiver archivedDataWithRootObject:someSet];
A continuación, envíe esta información usando el kit de juegos.
El otro dispositivo, cuando obtiene datos, lo convierte de nuevo a un conjunto.
NSData * receivedData = ....;
NSSet * set = [NSKeyedUnarchiver unarchiveObjectWithData:receivedData];
Entonces usted podría llamar a cualquier método que necesite para procesar el conjunto consigo mismo. Como es probable que cambie aquí algunos componentes de la interfaz de usuario, asegúrese de llamar al selector para que se ejecute en el hilo principal.
Además, este tipo de cosas solo funcionará si los eventos táctiles que está tratando son sin estado, lo que significa que no importa dónde estaba antes el tacto. De lo contrario, esto puede causar algunos problemas. Puede ser mejor extraer la idea de lo que ha cambiado después de los eventos táctiles, y luego enviar esto al otro dispositivo y solo actualizar el otro dispositivo con los deltas de cómo ha cambiado el UIImage (en otras palabras, qué tipo de procesamiento tiene ocurrió a la imagen en el otro dispositivo).
¡Gracias por su ayuda! ¿Hay alguna manera de hacer comparaciones con UIImage o verificar deltas entre dos UIImages? Además, ¿Ullmage imageWithData necesitaría un formato de imagen JPG para funcionar? Usar PNG parece vomitar para mí. No creo que pueda transmitir los toques, ya que desafortunadamente confío en su estado. ¡Gracias de nuevo por su respuesta! –