Para Xcode 8.2 o posterior
Puede tomar videos y capturas de pantalla de Simulator utilizando la xcrun simctl
, una utilidad de línea de comandos para controlar el simulador
- Ejecute su aplicación en el simulador
- Abrir una terminal
Ejecuta el comando
Para tomar una captura de pantalla
xcrun simctl io booted screenshot <filename>.<file extension>
Por ejemplo:
xcrun simctl io booted screenshot myScreenshot.png
Tomar un video
xcrun simctl io booted recordVideo <filename>.<file extension>
Por ejemplo:
xcrun simctl io booted recordVideo appVideo.mov
Presione ctrl + c
para detener la grabación del video.
La ubicación predeterminada para el archivo creado es el directorio actual.
Xcode 11.2 y posterior ofrece opciones adicionales.
De Xcode 11.2 Beta Notas de la versión
La grabación de video simctl ahora produce archivos de video más pequeños, admite compresión HEIC y aprovecha la compatibilidad de codificación de hardware donde está disponible. Además, se ha restaurado la capacidad de grabar video en dispositivos iOS 13, tvOS 13 y watchOS 6.
Podrías usar banderas adicionales:
xcrun simctl io --help
Set up a device IO operation.
Usage: simctl io <device> <operation> <arguments>
...
recordVideo [--codec=<codec>] [--display=<display>] [--mask=<policy>] [--force] <file or url>
Records the display to a QuickTime movie at the specified file or url.
--codec Specifies the codec type: "h264" or "hevc". Default is "hevc".
--display iOS: supports "internal" or "external". Default is "internal".
tvOS: supports only "external"
watchOS: supports only "internal"
--mask For non-rectangular displays, handle the mask by policy:
ignored: The mask is ignored and the unmasked framebuffer is saved.
alpha: Not supported, but retained for compatibility; the mask is rendered black.
black: The mask is rendered black.
--force Force the output file to be written to, even if the file already exists.
screenshot [--type=<type>] [--display=<display>] [--mask=<policy>] <file or url>
Saves a screenshot as a PNG to the specified file or url(use "-" for stdout).
--type Can be "png", "tiff", "bmp", "gif", "jpeg". Default is png.
--display iOS: supports "internal" or "external". Default is "internal".
tvOS: supports only "external"
watchOS: supports only "internal"
You may also specify a port by UUID
--mask For non-rectangular displays, handle the mask by policy:
ignored: The mask is ignored and the unmasked framebuffer is saved.
alpha: The mask is used as premultiplied alpha.
black: The mask is rendered black.
Ahora puede tomar una captura de pantalla jpeg
con máscara (para pantallas no rectangulares) y algunas otras banderas:
xcrun simctl io booted screenshot --type=jpeg --mask=black screenshot.jpeg
Tikhonov Alexander
fuente
xcrun
?xcrun simctl io booted recordVideo --type=mp4 <PATH TO VIDEO FILE>.mp4
--codec=h264
resolvió el problema y resultó en un video fluido.Puede usar
QuickTime Player
para grabar la pantalla.QuickTime Player
File
del menúNew Screen recording
Ahora desde la
Screen Recording
ventana, haga clic en el botón de grabación.Le proporcionará una opción para grabar toda la pantalla o una parte selectiva de su pantalla.
Tendrá que hacer una selección de su simulador para que solo se grabe la parte del simulador.
fuente
Apple recomienda hacerlo en un dispositivo real y tiene una guía sobre cómo hacerlo usando QuickTime e iMovie en iOS y OS X: https://developer.apple.com/app-store/app-previews/imovie/Creating-App -Vista previa-con-iMovie.pdf
Resumen:
Capture grabaciones de pantalla con QuickTime Player
Crear una vista previa de la aplicación con iMovie
Importar grabaciones de pantalla
A continuación, importa los archivos de grabación de pantalla que capturó con QuickTime Player en iMovie. En iMovie:
Crear un proyecto de vista previa de la aplicación
Para iniciar un nuevo proyecto de vista previa de la aplicación, elija Archivo> Nueva vista previa de la aplicación. Aparece una línea de tiempo donde puede agregar y organizar clips para crear su vista previa.
fuente
Estoy realmente sorprendido de que nadie haya dado mi respuesta. Esto es lo que debe hacer (esto funcionará si tiene al menos 1 dispositivo elegible):
Debería poder obtener la Vista previa de su aplicación en la resolución deseada.
fuente
ffmpeg -i appPrevw_ipad.mp4 -vf scale=1080:-1,pad=1080:1920:0:200:white appPrevw_iphone.mp4
. 200 es la colocación vertical del contenido (más corto) de iPad. Puede tomar esto como base y agregar más cosas en las barras vacías.Puede grabar una parte de la pantalla con la utilidad de captura de pantalla incorporada:
Si desea visualizar los clics del mouse, después del paso 1, seleccione Control de opciones y active Mostrar clics del mouse .
fuente
Debe usar QuickTime en Yosemite para conectar y grabar la pantalla de sus dispositivos iOS.
Retrato de iPhone
Cuando termine la grabación, puede usar iMovie para editar el video. Cuando trabajas en una vista previa de la aplicación Retrato de iPhone, la resolución debe ser,
1080x1920
pero iMovie solo puede exportar en16:9
(1920x1080
).Una solución sería importar el video grabado con la resolución
1080x1920
y rotarlo 90 grados. Luego, exporte la película1920x1080
y gire el video exportado 90 grados hacia atrás usando ffmpeg y el siguiente comandoiPad
El iPad es un poco más complicado porque requiere una resolución de
1200x900
(4:3
) pero iMovie solo exporta16:9
.Esto es lo que hice.
1200x900
,4:3
)1920x1080
,16:9
(iPadLandscape16_9-1920x1080.mp4
)Elimine las barras negras izquierda y derecha de un video con
1440x1080
. El ancho de una barra es240
Reducir la película a
1220x900
Tomado de mi respuesta en el Foro de desarrolladores de Apple
fuente
De la documentación de Apple .
fuente
h264
,mp4
ofmp4
. Ejemplo:xcrun simctl io booted recordVideo test-video-recording.mp4
. Además, para finalizar el video tuve que finalizar el proceso del terminal concontrol
+c
.Puede hacerlo de forma gratuita con las siguientes herramientas. Necesitará al menos un dispositivo real (utilicé un iPhone 5)
Capturar el vídeo con el simple, pero excelente AppShow (tenga en cuenta que este es un muy barebones herramienta, pero es muy fácil de aprender). Esto se exportará a la resolución del dispositivo nativo (640x1136).
Cambiar el tamaño con ffmpeg. Debido al redondeo, puede ir directamente entre las resoluciones, pero debe sobredimensionar y luego recortar.
Para ipad, puede recortar y luego agregar un buzón. Sin embargo, un recorte como este generalmente no producirá un video que se vea exactamente como su aplicación en el ipad. YMMV.
fuente
ffmpeg -i source.mov -filter:v scale=1246:2216 -c:a copy intermediate.mov
yffmpeg -i intermediate.mov -filter:v "crop=1242:2208:0:0" -c:a copy final.mov
-pix_fmt yuv420p
y-vcodec lib264x
sin suerte ...ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
Esta es la forma que encontré más fácil y solo necesitas un iPhone y iPad:
Grabar la pantalla del dispositivo con QuickTime Player:
Abra iMovie
Ahora haga esto con todos sus dispositivos o:
Descargar Handbreak: https://handbrake.fr/downloads.php
Y cambie el tamaño del video de alta resolución:
fuente
La Guía del usuario del Simulador de Apple establece en Tomar una captura de pantalla o grabar un video usando el párrafo de la línea de comando :
Para grabar un video, use la
recordVideo
operación en su Terminal:Tenga en cuenta que el archivo se creará en el directorio actual de su Terminal.
Si desea guardar el archivo de video en su carpeta Escritorio, use el siguiente comando:
Para detener la grabación, presione
Control-C
en Terminal.fuente
Desde Xcode 9 y en adelante, puede tomar capturas de pantalla o grabar videos usando simctl binary que puede encontrar aquí:
Puede usarlo con xcrun para ordenar el simulador en la línea de comando.
Para tomar una captura de pantalla, ejecute esto en la línea de comando:
Para grabar video en el simulador usando la línea de comando:
Nota: Puede usar este comando en cualquier directorio que elija. El archivo se guardará en ese directorio.
fuente
A partir de hoy en 2019, Apple ha hecho la vida mucho más fácil para los desarrolladores de proyectos de bajo presupuesto o de un solo hombre como yo. Puede usar el comando de terminal de una de las publicaciones anteriores para grabar videos del simulador de dispositivo deseado. Y luego use la función de Vista previa de la nueva aplicación de iMovie.
iMovie -> Archivo -> Vista previa de nueva aplicación
fuente
Aquí hay una solución que funciona y no cuesta $ 300 (FinalCut Pro), pero requiere ScreenFlow ( aplicación ScreenFlow en AppStore ) ($ 100):
fuente
La mejor herramienta que he encontrado es Appshow. Visite http://www.techsmith.com/techsmith-appshow.html (no trabajo para ellos)
fuente
Un consejo para los usuarios que les gusta usar las funciones de ZSH. Puede simplificar un poco las cosas agregando una función que haga lo mismo que la respuesta de @Tikhonov Alexander.
Comience escribiendo:
en tu terminal.
Luego agregue esta función en algún lugar del archivo.
Para usar, escriba algo como:
en la ventana de tu terminal. Nota: El terminal debe reiniciarse después de agregar la función antes de que funcione.
Esta función está adaptada de la publicación del blog de Antoine Van Der Lee sobre cómo hacer esto en bash, que se puede encontrar aquí.
fuente
xcrun
parte de la línea entre comillas a"$1"
- luego especifique el nombre completo del archivo en la línea de comando:recsim appPreview.mp4
Puede usar la grabación de pantalla QuickTime y los simuladores de iOS para hacer sus grabaciones de video. Lo complicado aquí es obtener el tamaño correcto para que iMovie pueda detectar la resolución de salida cuando vaya a exportar la AppPreview. No he encontrado una manera de seleccionar la resolución de salida en iMovie, por lo que debe ser detectada por el formato de los medios que está utilizando. Puede tomar varios intentos, pero es factible. Es uno de esos: ¿tengo $ 300 para FinalCut Pro o tengo aproximadamente una hora de mi tiempo? Solo necesita tres grabaciones como se mencionó anteriormente. De hecho, podría hacer dos de ellos en dispositivos porque los tengo pero no tengo un iPhone 6 (todavía ... :)). También me gustan los simuladores porque puedes usar algo como SimFinger para simular gestos y presionar botones.
¡Buena suerte!
fuente
Tuve la mejor suerte de hacer películas de demostración de la tienda de aplicaciones de alta calidad para iOS usando ScreenFlow. Actualicé a 5 para poder grabar el dispositivo directamente, y obtuve un MacBook Air 2. Pero primero pensé en tratar de usar el método de captura QuickTime y quizás editar con iMove. Resulta que el flujo de la pantalla es inmejorable si quieres mostrar el dedo del usuario moviéndose por la superficie y haciendo clic en cosas (pueden agregar sonido, pulsos de radar, etc.) Para mis aplicaciones esto fue muy importante y crear las transiciones y la edición necesarias para lograr Estos efectos, en lugar de ejecutar la aplicación en el simulador y hacer que ScreenFlow use los movimientos del cursor, fue infinitamente más trabajo y me di por vencido rápidamente.
Ahora he tenido un gran éxito con las aplicaciones para iPad y iPhone, incluidas más de 6 aplicaciones. Tengo un nuevo 5K iMac, así que puedo simular todo, pero todas mis aplicaciones de iPad que exporto desde el flujo de pantalla a 1200x900; Acabo de crear aplicaciones para iPhone a 1080x1920 y tuve un problema real: seguí recibiendo el mensaje "No se pudo guardar la vista previa del video de su aplicación. Inténtelo nuevamente. Si el problema persiste, contáctenos". Encontré una gran explicación de esto aquí http://blog.eumlab.com/app-video-preview/pero no me gustó el "uso del codificador de medios creativos en la nube de adobe" para solucionarlo, incluso si es gratuito. Entonces, después de leer las publicaciones en este hilo, importé mi película de 5 mp4 de flujo de pantalla que parecía cumplir con las especificaciones exactas requeridas (recuerde que la tienda no rechazó mi película, simplemente nunca pudo guardarla); creó un nuevo proyecto de "película de vista previa de la aplicación"; copié mi clip en el proyecto "película de vista previa de la aplicación", y luego exporté la "nueva" película usando los preajustes incorporados y a) mi 29 segundo archivo mp4 de 5 MB se convirtió en un archivo de 28 MB; pero b) se importó por primera vez y funciona bien. Misma resolución, misma velocidad de cuadros, misma codificación de audio, misma codificación de video, pero ahora a la App Store le gusta el archivo (ahora hinchado) y tengo mis efectos de cursor. [ Nunca había usado iMovie antes.] Puedes ver estos videos en youtube o en la tienda. Vea, por ejemplo, el video del iPad de la versión en francés de una aplicación de aprendizaje de palabras en http://youtu.be/L0nBYeK4Pm4 ; entonces una aplicación para iPad que es un corte múltiple de 8 versiones diferentes de la aplicación en el idioma de la interfaz de usuario (internacionalizada para 8 idiomas diferentes para el usuario L1) está aquí: http://youtu.be/CjXkAvuBXyQ ; y un video de iPhone 6+ de una versión de iPhone de la misma aplicación está aquí: http://youtu.be/36kdLztvc_A . Estoy agregando películas a medida que agrego archivos de sonido y otras actualizaciones de iOS 7/8 a mis aplicaciones de aprendizaje de palabras (originalmente para ayudarme a aprender a leer palabras en chino), lo que parece una excelente manera para que las personas sepan lo que están comprando.
Pero, por supuesto, si no necesita mostrar el "dedo" y los "clics", o si ya ha dominado dichos efectos en iMovie u otros, quédese con lo que sabe.
fuente
Estaba enfrentando el mismo problema. Tiene una solución muy simple que funcionó para mí. Solo sigue estos pasos:
1.Haga un video de vista previa en iMovie.
2.Exportar video usando la opción compartir archivo. Elija 1920x1080, ya que se puede usar para 5S y 6 más.
3.Descargue Appshow para Mac de techsmith ( https://www.techsmith.com/techsmith-appshow.html .) Está hecho especialmente para hacer videos de vista previa de aplicaciones. Pero no lo recomiendo para hacer videos, sino solo para exportar.
4.Elija un nuevo video de Vista previa de la aplicación y personalícelo eligiendo menos cuadros que luego podrá eliminar.
5.Importe su video de iMovie en esta plantilla. En la esquina superior derecha, puede elegir la resolución que desee, appshow tiene todas las resoluciones necesarias para la vista previa de la aplicación.
6. Finalmente, simplemente elija el dispositivo y exporte el video en la resolución seleccionada.
fuente
En Configuración de MBP> Pantallas> Pantalla, veo una configuración para 'Resolución: Predeterminado para Pantalla / Escalado'. Lo configuro en 'Más espacio', luego pruebo los distintos simuladores, que parecen encajar en la pantalla ampliada al 100%. Sin embargo, sospecho que eso no funcionaría con su pantalla FullHD ...
Una alternativa podría ser intentar instalar algún tipo de solución de servidor VNC en el simulador, como https://github.com/wingify/vnc , y grabar eso con una grabadora VNC; creo que hay una grabadora Python VNC por ahí.
fuente
Desafortunadamente, la aplicación iOS Simulator no admite guardar videos. Lo más fácil es usar Quicktime Player para hacer una grabación de pantalla. Por supuesto, verá que el mouse interactúa con él, lo que no es lo que desea, pero no tengo una mejor opción para usted en este momento.
fuente
Puedes combinar QuickTime Player + iMovie (Gratis)
Primero elija el simulador deseado de xcode y la pantalla de grabación con QuickTime Player. Después de eso, use iMovie para hacer una vista previa de la aplicación y finalmente suba el video con el navegador Safari. Es simple... :)
fuente