Esto debe estar documentado en alguna parte, pero no puedo encontrarlo.
En mi aplicación que usa el simulador de iPad, hay un campo de texto en el que quiero que el usuario pegue texto. En el mundo real, el usuario copiará el texto de la dirección de Safari en el campo de texto. Pero estoy tratando de hacer eso en el simulador de ios ipad, pero solo con resultados parciales.
Después de volver a EJECUTAR la aplicación, puedo pegar texto inmediatamente en el campo de texto con el Edit|Paste Text
menú de Mac o con Shift-Command-V, (pero no solo Edit|Paste
, pero está bien). La necesidad del Cambio es molesta, pero puedo vivir con ella.
Pero luego, si intento copiar otra URL en la Mac y luego otra vez, Edit|Paste Text
o incluso usar la Paste
burbuja en el simulador, no obtengo el texto nuevo, sino el texto original.
¿Es eso común? ¿Es una característica del simulador que no está conectado en vivo al portapapeles en la computadora host?
Respuestas:
Tenga cuidado de no confundir el portapapeles del mac con el del simulador. Ellos no son los mismos.
El simulador está simulando un dispositivo iOS, con su propio portapapeles de iOS que las aplicaciones que se ejecutan en ese dispositivo (simulador) usan a través de los elementos de IU de iOS pup-up select-all / copy / paste.
Completamente separado de eso: tu Mac tiene su propio portapapeles y contenido. El programa Simulator que se ejecuta en su mac proporciona el elemento de menú Editar> Pegar texto. El programa implementa ese elemento del menú accediendo al portapapeles de tu Mac y escribe el texto en el simulador como si el usuario usara el teclado. No se accede al portapapeles de iOS ni se ve afectado por las funciones del menú Editar de la aplicación Simulator.
Actualización: a partir de Xcode 6, debe elegir el
Edit > Paste
elemento menú en el simulador de iOS (esto transfiere los datos entre el portapapeles de Mac y el portapapeles de iOS), luego toque el campo en el simulador y toque la burbuja "Pegar".En su pregunta, no especifica de qué "Safari" está copiando la URL. Podría ser la aplicación mac safari o la aplicación safari del simulador . Hacer una copia del programa mac safari va al portapapeles de mac, hacer una copia de la aplicación safari va al portapapeles de iOS dentro del simulador.
Creo que sus problemas provienen de confundir los dos, pensar que hay un portapapeles que todo se comparte.
fuente
Descubrí que incluso con Editar> Sincronizar automáticamente el tablero marcado, la función no funcionaba.
Sin embargo, simplemente desmarcar y luego volver a marcar esta opción solucionó la función.
Espero que funcione para alguien.
fuente
Copie el texto en la mac, luego haga clic en el campo de texto en el simulador y presione
Shift Command V
fuente
Haga clic en la opción "Sincronizar automáticamente la mesa de trabajo" en la opción de edición del Simulador.
fuente
Lo que funcionó para mí es esto.
1) copiar texto de Mac
2) En el simulador, edite-> pegue o Command V (creo que esto copia el texto del portapapeles de mac al portapapeles del simulador de iOS).
3) Resalte el campo de texto en el simulador y luego haga comando + Shift + V.
fuente
Xcode 10.0+ :
Desactivar la sincronización automática de la mesa de trabajo y volver a activarla resolvió el problema.
Puede que tengas que hacerlo varias veces. A veces lleva un tiempo activarlo por alguna razón.
(Editar -> Sincronización automática de la mesa de trabajo)
fuente
Actualicé a os x 10.13.6 y xcode 10.1 y hay un menú agregado en
edit
haga clic en y
get pasteboard
luego podrá pegar a través de la información sobre herramientas de pegar en el simuladorfuente
Send Pasteboard
para pegar en el simulador.Get Pasteboard
hizo la acción inversa, llevó el portapapeles de iOS al portapapeles de Mac.Me sucedió algo similar y encontré una solución extraña, puede ayudar a cualquier otra persona que pueda encontrar el mismo problema. Pruebe los siguientes pasos:
Automatically Sync Pasteboard
opción, se encuentra debajo deEdit
menú del SimuladorCmd+A
y luego corte / copieCmd+X
/Cmd+C
fuente
A veces es muy difícil escribir URL largas en el simulador de iOS. Debería haber alguna forma de copiar la URL de Max OS al campo de texto de iOS. Así es como puede hacerlo:
Edit
->Paste Text
y eso es. El texto del búfer de copia de Mac OS debería estar ahora en el campo de texto del simulador de iOS.
fuente
En un nuevo emulador, no tengo la opción de "pegar" y la sincronización no funciona para el simulador. Parece que en el simulador DEBE copiar algo en el portapapeles interno antes de que la sincronización funcione.
fuente
Tres pasos: (El punto clave es asegurarse de que el menú de ayuda "Pegar" se mantenga visible cuando use "⌘ + V" ).
fuente
a veces solo necesita seleccionar Hardware -> restablecer contenido y configuraciones en el menú del simulador. entonces todo funciona automáticamente tan fácil y transparente como trabajar en MacOS con otras aplicaciones
fuente
Ninguna de estas soluciones funcionó para mí. Estoy usando Simulator 11.4. Y después de probar cada uno de estos, me di cuenta de que todo lo que tenía que hacer era copiar algo en mi Mac usando Command + C, y luego en el campo de texto del simulador, simplemente mantén presionado el clic del mouse durante uno o dos segundos adicionales, y el menú de pegar apareció automáticamente y funcionó muy bien.
fuente
Esto funciona para mi. En Safari versión 8.0.3 y simulador de IOs versión 8.1
fuente
Esto es lo que encontré.
Shift + Cmd + V también funciona muy bien.
fuente
⌘ + V: cuando el simulador de iOS está al frente, copie el contenido del portapapeles de OS X en iOS, pero no lo pegue. Nuevamente, esto funciona tanto para texto como para imágenes.
Por lo tanto, debe hacer lo siguiente:
1.copie el texto en cualquier lugar de su macOS, excepto en el simulador de iOS.
En el simulador de iOS, haga clic en ⌘ + V, copie el texto del portapapeles de macOS al clipborad del simulador de iOS.
En el simulador de iOS, TextField o TextView haga clic en -> Editar -> Pegar.
fuente