Para o Xcode 8.2 ou posterior
Você pode capturar vídeos e capturas de tela do Simulator usando o xcrun simctl
, um utilitário de linha de comando para controlar o Simulator
- Execute seu aplicativo no simulador
- Abra um terminal
Execute o comando
Para tirar uma captura de tela
xcrun simctl io booted screenshot <filename>.<file extension>
Por exemplo:
xcrun simctl io booted screenshot myScreenshot.png
Para gravar um vídeo
xcrun simctl io booted recordVideo <filename>.<file extension>
Por exemplo:
xcrun simctl io booted recordVideo appVideo.mov
Pressione ctrl + c
para parar de gravar o vídeo.
O local padrão para o arquivo criado é o diretório atual.
O Xcode 11.2 e posterior oferece opções extras.
Notas de versão do Xcode 11.2 Beta
A gravação de vídeo simctl agora produz arquivos de vídeo menores, suporta compactação HEIC e aproveita o suporte à codificação de hardware, quando disponível. Além disso, a capacidade de gravar vídeo nos dispositivos iOS 13, tvOS 13 e watchOS 6 foi restaurada.
Você pode usar sinalizadores adicionais:
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.
Agora você pode capturar uma captura de tela jpeg
, com máscara (para telas não retangulares) e algumas outras bandeiras:
xcrun simctl io booted screenshot --type=jpeg --mask=black screenshot.jpeg
xcrun
?xcrun simctl io booted recordVideo --type=mp4 <PATH TO VIDEO FILE>.mp4
--codec=h264
resolveu o problema e resultou em um vídeo suave.Você pode usar
QuickTime Player
para gravar a tela.QuickTime Player
File
no menuNew Screen recording
Agora, a partir da
Screen Recording
janela, clique no botão Gravar.Ele fornecerá uma opção para gravar a tela inteira ou uma parte seletiva da tela.
Você terá que fazer uma seleção do seu simulador para que apenas a parte do simulador seja gravada.
fonte
A Apple recomenda fazer isso em um dispositivo real e tem um guia sobre como fazer isso usando o QuickTime e o iMovie no iOS e OS X: https://developer.apple.com/app-store/app-previews/imovie/Creating-App -Previews-with-iMovie.pdf
Resumo:
Capturar gravações de tela com o QuickTime Player
Crie uma visualização de aplicativo com o iMovie
Importar gravações de tela
Em seguida, importe os arquivos de gravação de tela capturados com o QuickTime Player para o iMovie. No iMovie:
Criar um projeto de visualização de aplicativo
Para iniciar um novo projeto de visualização de aplicativo, escolha Arquivo> Nova visualização de aplicativo. Uma linha do tempo aparece onde você pode adicionar e organizar clipes para criar sua visualização.
fonte
Na verdade, estou surpreso que ninguém forneceu minha resposta. É isso que você faz (isso funcionará se você tiver pelo menos um dispositivo qualificado):
Você deve conseguir a Visualização do aplicativo na resolução desejada.
fonte
ffmpeg -i appPrevw_ipad.mp4 -vf scale=1080:-1,pad=1080:1920:0:200:white appPrevw_iphone.mp4
. 200 é o posicionamento vertical do conteúdo (mais curto) do iPad. Você pode usar isso como base e adicionar mais itens nas barras vazias.Você pode gravar uma parte da tela com o utilitário de captura de tela embutido:
Se você deseja visualizar os cliques do mouse, após a etapa 1, selecione Controle de opções e ative Mostrar cliques do mouse .
fonte
Você deve usar o QuickTime no Yosemite para conectar e gravar a tela dos seus dispositivos iOS.
Retrato do iPhone
Quando você terminou a gravação, pode usar o iMovie para editar o vídeo. Quando você está trabalhando em uma visualização de aplicativo retrato do iPhone, a resolução deve ser,
1080x1920
mas o iMovie só pode exportar em16:9
(1920x1080
).Uma solução seria importar o vídeo gravado com a resolução
1080x1920
e girá-lo 90 graus. Em seguida, exporte o filme em1920x1080
e gire o vídeo exportado para trás 90 graus usando ffmpeg e o seguinte comandoiPad
O iPad é um pouco mais complicado porque requer uma resolução de
1200x900
(4:3
), mas o iMovie exporta apenas em16:9
.Aqui está o que eu fiz.
1200x900
,4:3
)1920x1080
,16:9
(iPadLandscape16_9-1920x1080.mp4
)Remova as barras pretas esquerda e direita de um vídeo com
1440x1080
. A largura de uma barra é240
Reduza o tamanho do filme para
1220x900
Retirado da minha resposta no Apple Developer Forum
fonte
Da documentação da Apple .
fonte
h264
,mp4
oufmp4
. Exemplo:xcrun simctl io booted recordVideo test-video-recording.mp4
. Além disso, para finalizar o vídeo, tive que finalizar o processo do terminal comcontrol
+c
.Você pode fazer isso de graça com as seguintes ferramentas. Você precisará de pelo menos um dispositivo real (usei um iPhone 5)
Capture o vídeo com o simples, mas excelente appshow (observe que esta é uma ferramenta muito básica, mas é muito fácil de aprender). Isso será exportado na resolução do dispositivo nativo (640x1136).
Redimensione com ffmpeg. Devido ao arredondamento, você pode ir diretamente entre as resoluções, mas é necessário aumentar o tamanho e recortar.
Para o ipad, você pode cortar e adicionar uma caixa de correio. No entanto, um corte como esse geralmente não produzirá um vídeo parecido com o de seu aplicativo no ipad. YMMV.
fonte
ffmpeg -i source.mov -filter:v scale=1246:2216 -c:a copy intermediate.mov
effmpeg -i intermediate.mov -filter:v "crop=1242:2208:0:0" -c:a copy final.mov
-pix_fmt yuv420p
e-vcodec lib264x
sem sorte ...ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
Foi assim que achei mais fácil e você só precisa de um iPhone e iPad:
Grave a tela do dispositivo com o QuickTime Player:
Abra o iMovie
Agora faça isso com todos os seus dispositivos ou:
Faça o download do Handbreak: https://handbrake.fr/downloads.php
E redimensione o vídeo em alta resolução:
fonte
O Guia do usuário do simulador da Apple declara em Capturando uma captura de tela ou Gravando um vídeo usando o parágrafo da linha de comando :
Para gravar um vídeo, use a
recordVideo
operação no seu Terminal:Observe que o arquivo será criado no diretório atual do seu terminal.
Se você deseja salvar o arquivo de vídeo na sua pasta da área de trabalho, use o seguinte comando:
Para parar a gravação, pressione
Control-C
no Terminal.fonte
A partir do Xcode 9, você pode capturar imagens ou gravar vídeos usando o binário simctl, que pode ser encontrado aqui:
Você pode usá-lo com xcrun para comandar o simulador na linha de comando.
Para tirar uma captura de tela, execute isso na linha de comando:
Para gravar vídeo no simulador usando a linha de comando:
Nota: Você pode usar este comando em qualquer diretório de sua escolha. O arquivo será salvo nesse diretório.
fonte
A partir de hoje, em 2019, a Apple tornou a vida muito mais fácil para desenvolvedores de projetos de baixo orçamento ou homens como eu. Você pode simplesmente usar o comando terminal de uma das postagens acima para gravar vídeos do simulador de dispositivo desejado. E, em seguida, use o recurso New App Preview do iMovie.
iMovie -> Arquivo -> Nova visualização do aplicativo
fonte
Aqui está uma solução que funciona e não custa US $ 300 (FinalCut Pro), mas requer ScreenFlow ( aplicativo ScreenFlow na AppStore ) (US $ 100):
fonte
A melhor ferramenta que encontrei é o Appshow. Visite http://www.techsmith.com/techsmith-appshow.html (não trabalho para eles)
fonte
Uma dica para usuários que gostam de usar as funções ZSH. Você pode simplificar um pouco as coisas adicionando uma função que faz a mesma coisa que a resposta de @Tikhonov Alexander.
Comece digitando:
no seu terminal.
Em seguida, adicione esta função em algum lugar do arquivo.
Para usar, digite algo como:
na janela do seu terminal. Nota: O terminal deve ser reiniciado após adicionar a função antes de funcionar.
Essa função é adaptada da postagem do blog de Antoine Van Der Lee sobre como fazer isso no bash, que pode ser encontrado aqui.
fonte
xcrun
parte da linha entre aspas para"$1"
- em seguida, especifique o nome completo do arquivo na linha de comando:recsim appPreview.mp4
Você pode usar a gravação de tela do QuickTime e os simuladores do iOS para fazer suas gravações de vídeo. O mais complicado aqui é obter o tamanho correto para que o iMovie possa detectar a resolução de saída quando você exportar o AppPreview. Não encontrei uma maneira de selecionar as res de saída no iMovie, portanto, se for detectado pelo formato da mídia que você está usando. Pode levar várias tentativas, mas é factível. É uma delas: tenho US $ 300 para o FinalCut Pro ou tenho uma hora ou mais do meu tempo? Você só precisa de três gravações, como mencionado acima. Na verdade, eu poderia fazer dois deles em dispositivos porque os tenho, mas ainda não tenho um iPhone 6 (ainda ... :)). Também gosto dos simuladores, porque você pode usar algo como o SimFinger para simular gestos e pressionar os botões.
Boa sorte!
fonte
Eu estava tendo a melhor sorte em criar filmes de demonstração de loja de aplicativos de alta qualidade para IOS usando o ScreenFlow. Atualizei para 5 para poder gravar diretamente o dispositivo e obter um MacBook Air 2. Mas primeiro pensei em tentar usar o método de captura do QuickTime e talvez editar com o iMove. Acontece que o fluxo da tela é imbatível se você deseja mostrar o dedo do usuário se movendo pela superfície e clicando nas coisas (eles podem adicionar som, pulsos de radar, etc.) Para meus aplicativos, isso era muito importante e criar as transições e edições necessárias para alcançar esses efeitos, em vez de executar o aplicativo no simulador e fazer o ScreenFlow usar os movimentos do cursor, eram infinitamente mais trabalhosos e desisti rapidamente.
Agora, obtive grande sucesso com aplicativos para iPad e iPhone, incluindo mais de 6 aplicativos. Eu tenho um novo iMac de 5K para simular tudo, mas todos os meus aplicativos para iPad são exportados do fluxo da tela em 1200x900; Acabei de criar aplicativos para iPhone em 1080x1920 e tive um problema real - eu recebia a mensagem "A visualização do vídeo do aplicativo não pôde ser salva. Tente novamente. Se o problema persistir, entre em contato". Encontrei uma ótima explicação disso aqui http://blog.eumlab.com/app-video-preview/mas não gostou do "usar o codificador de mídia da Adobe Creative Cloud" para corrigi-lo, mesmo que seja gratuito. Então, depois de ler as postagens neste tópico, importei meu filme de 5 mp4 com fluxo de tela que parecia atender às especificações exatas necessárias (lembre-se de que a loja não estava rejeitando meu filme, ela nunca poderia salvá-lo); criou um novo projeto "app preview movie"; copiei meu clipe no projeto "app preview movie" e depois exportei o "novo" filme usando as predefinições integradas e a) meus 29 segundos arquivos mp4 de 5 MB e 5 MB se tornaram arquivos de 28 MB; mas b) importou pela primeira vez e funciona bem. A mesma resolução, a mesma taxa de quadros, a mesma codificação de áudio e a mesma codificação de vídeo - mas agora a App Store gosta do arquivo (agora inchado) e eu tenho meus efeitos de cursor. [ Eu nunca tinha usado o iMovie antes.] Você pode ver esses vídeos no youtube ou na loja. Veja, por exemplo, o vídeo do iPad da versão francesa de um aplicativo de aprendizado de palavras em http://youtu.be/L0nBYeK4Pm4 ; então, um aplicativo para iPad com várias versões de 8 idiomas diferentes da interface do usuário (internacionalizado para 8 idiomas L1 de usuários diferentes) está aqui: http://youtu.be/CjXkAvuBXyQ ; e um vídeo para iPhone 6+ de uma versão para iPhone do mesmo aplicativo está aqui: http://youtu.be/36kdLztvc_A . Estou adicionando filmes à medida que adiciono arquivos de som e outras atualizações do iOS 7/8 aos meus aplicativos de aprendizado de palavras (originalmente para me ajudar a aprender a ler palavras em chinês) - o que parece uma ótima maneira de as pessoas saberem o que estão comprando.
Mas é claro que, se você não precisa mostrar o "dedo" e "cliques", ou já domina esses efeitos no iMovie ou em outros, fique com o que sabe.
fonte
Eu estava enfrentando o mesmo problema. Tem uma solução muito simples que funcionou para mim. Basta seguir estes passos:
1.Faça um vídeo de visualização no iMovie.
2.Exportar vídeo usando a opção de compartilhamento de arquivo. Escolha 1920x1080, pois pode ser usado para 5S e 6 plus.
3.Download do Appshow para Mac da techsmith ( https://www.techsmith.com/techsmith-appshow.html .) Foi especialmente desenvolvido para criar vídeos de visualização de aplicativos. Mas eu não recomendo para fazer vídeos, mas apenas para exportar.
4. Escolha um novo vídeo de visualização de aplicativo e personalize-o escolhendo menos quadros que você poderá excluir posteriormente.
5.Importe seu vídeo do iMovie para este modelo. No canto superior direito, você pode escolher qualquer resolução que desejar, o appshow tem todas as resoluções necessárias para a visualização do aplicativo.
6. Finalmente, basta escolher o dispositivo e exportar o vídeo na resolução selecionada.
fonte
Em Configurações> Monitores> Tela do meu MBP, vejo uma configuração para 'Resolução: padrão para exibição / escala'. Defino como 'Mais espaço' e, em seguida, tente os vários simuladores, que parecem caber na tela ampliada em 100%. Eu suspeito que isso não funcionaria com sua tela FullHD ...
Uma alternativa pode ser tentar instalar algum tipo de solução de servidor VNC no simulador, como https://github.com/wingify/vnc , e gravar isso com um gravador VNC - acredito que exista um gravador Python VNC por aí.
fonte
Infelizmente, o aplicativo iOS Simulator não suporta salvar vídeos. A coisa mais fácil a fazer é usar o Quicktime Player para fazer uma gravação na tela. Obviamente, você verá o mouse interagindo com ele, o que não é o que você deseja, mas não tenho uma opção melhor para você no momento.
fonte
Você pode combinar o QuickTime Player + o iMovie (gratuito)
Primeiro, escolha o simulador desejado no xcode e na tela de gravação usando o QuickTime Player. Depois disso, use o iMovie para fazer a App Preview e, finalmente, faça o upload do vídeo com o navegador Safari. É simples... :)
fonte