Capturez la vidéo du simulateur iOS pour l'aperçu de l'application


398

D'accord, nous pouvons donc maintenant soumettre des aperçus vidéo de nos applications sur l'App Store. Selon Apple, nous devrions le faire avec un appareil iOS8 et OSX 10.10.le problème est que vous devez avoir tous les différents appareils (4 ", 4,7", 5,5 "et iPad).

Y a-t-il une alternative à cela?

Je pense à capturer une vidéo du simulateur. Le problème est que l'écran de l'appareil est plus grand que mon FullHDmoniteur lorsqu'il est affiché en résolution 100%. Toute solution capable de capturer une vidéo directement à partir du simulateur en pleine résolution?

Edit: Étant donné que beaucoup de gens répondent à des questions que je ne pose pas, laissez-moi dire: - Enregistrer une taille d'appareil et la mettre à l'échelle n'est pas ce que je demande; - Comment enregistrer un aperçu de l'application n'est pas ce que je demande; - Comment vous faites vos aperçus n'est pas ce que je demande;

Ce que je demande, c'est si vous pouvez enregistrer une vidéo du simulateur en résolution 100% si elle ne tient pas sur l'écran?

Réponses:


732

Pour Xcode 8.2 ou version ultérieure

Vous pouvez prendre des vidéos et des captures d'écran de Simulator en utilisant le xcrun simctl, un utilitaire de ligne de commande pour contrôler le Simulator

  1. Exécutez votre application sur le simulateur
  2. Ouvrez un terminal
  3. Exécutez la commande

    • Pour prendre une capture d'écran

      xcrun simctl io booted screenshot <filename>.<file extension>

      Par exemple:

      xcrun simctl io booted screenshot myScreenshot.png

    • Pour prendre une vidéo

      xcrun simctl io booted recordVideo <filename>.<file extension>

      Par exemple:

      xcrun simctl io booted recordVideo appVideo.mov

  4. Appuyez ctrl + cpour arrêter l'enregistrement de la vidéo.

L'emplacement par défaut du fichier créé est le répertoire actuel.

Xcode 11.2 et versions ultérieures offrent des options supplémentaires.

À partir des notes de mise à jour de Xcode 11.2 Beta

L'enregistrement vidéo simctl produit désormais des fichiers vidéo plus petits, prend en charge la compression HEIC et tire parti de la prise en charge du codage matériel, le cas échéant. De plus, la possibilité d'enregistrer des vidéos sur les appareils iOS 13, tvOS 13 et watchOS 6 a été restaurée.

Vous pouvez utiliser des drapeaux supplémentaires:

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.

Vous pouvez maintenant prendre une capture d'écran jpeg, avec un masque (pour les affichages non rectangulaires) et quelques autres drapeaux:

xcrun simctl io booted screenshot --type=jpeg --mask=black screenshot.jpeg


5
J'ai également eu «Échec de la création d'un appareil métallique pour le rédacteur vidéo». Je suppose que c'est parce que nos Mac sont trop vieux pour faire tourner Metal! D'après le message d'erreur, il utilise l'API graphique Metal pour capturer la sortie du simulateur, et Metal ne fonctionne que sur Mac> 2012: imore.com/here-are-macs-work-os-x-el-capitans-metal
andrewf

17
Est-il possible de montrer des touches sur la vidéo avec xcrun?
kelin

18
Cela me donne une mauvaise qualité vidéo.
Kashif

8
Ma vidéo était de mauvaise qualité à l'aide de la commande ci-dessus. Spécifier mp4 a résolu le problème pour moi:xcrun simctl io booted recordVideo --type=mp4 <PATH TO VIDEO FILE>.mp4
Andy Novak

5
La fréquence d'images était très faible lors de l'enregistrement avec les paramètres par défaut sur le MacBook Pro 2013. La spécification a --codec=h264résolu le problème et s'est traduite par une vidéo fluide.
Jeffrey Fulton

209

Vous pouvez utiliser QuickTime Playerpour enregistrer l'écran.

  • Ouvert QuickTime Player
  • Sélectionnez Filedans le menu
  • Sélectionner New Screen recording

À partir de la Screen Recordingfenêtre, cliquez sur le bouton d'enregistrement.

Il vous fournira une option pour enregistrer la totalité de l'écran ou une partie sélective de votre écran.

Vous devrez faire une sélection de votre simulateur afin que seule la partie du simulateur soit enregistrée.


19
CECI est la seule bonne réponse à la question. Toutes les autres réponses vous demandent d'utiliser un appareil.
KPM

1
Cela fonctionne-t-il également lorsque vous utilisez un simulateur iOS plus grand que l'écran réel (par exemple, iPad Pro 12,7 ")?
DrMickeyLauer

7
Cela ne fonctionnera pas si la taille de votre simulateur est plus grande que votre écran. Vous pouvez enregistrer la totalité de l'écran de votre Mac ou une partie sélectionnée de votre écran.
Kalpesh

7
Cela fonctionne mais vous verrez la souris pointer sur le simulateur. Il pourrait être utile à des fins de test, mais pas pour les vidéos de campagnes marketing.
Alan Andrade

Vous pouvez utiliser Cursorcerer pour masquer le curseur de la souris pendant que vous enregistrez l'écran avec QuickTime.
user47712

73

Apple recommande de le faire sur un appareil réel et dispose d'un guide sur la façon de le faire à l'aide de QuickTime et iMovie sur iOS et OS X: https://developer.apple.com/app-store/app-previews/imovie/Creating-App -Aperçu-avec-iMovie.pdf

Sommaire:

Capturez des enregistrements d'écran avec QuickTime Player

  1. Connectez votre appareil iOS à votre Mac à l'aide d'un câble Lightning.
  2. Ouvrez QuickTime Player.
  3. Choisissez Fichier> Nouvel enregistrement vidéo.
  4. Dans la fenêtre qui apparaît, sélectionnez votre appareil iOS comme source d'entrée pour l'appareil photo et le microphone.

Créer un aperçu d'application avec iMovie

Importer des enregistrements d'écran

Ensuite, vous importez les fichiers d'enregistrement d'écran que vous avez capturés avec QuickTime Player dans iMovie. Dans iMovie:

  1. Choisissez Fichier> Importer un média.
  2. Dans la fenêtre qui apparaît, sélectionnez les fichiers d'enregistrement d'écran.

Créer un projet d'aperçu d'application

Pour démarrer un nouveau projet d'aperçu d'application, choisissez Fichier> Nouvel aperçu d'application. Une chronologie apparaît où vous pouvez ajouter et organiser des clips pour créer votre aperçu.


1
Configuration requise: • Appareil iOS avec connecteur Lightning, écran Retina et iOS 8. • Mac avec OS X Yosemite. • iMovie pour Mac version 10.0.6 ou ultérieure. Et iMovie n'est pas gratuit.
Borzh

29
Ceci est une bonne réponse, sauf qu'il ne capture PAS de vidéo du simulateur (uniquement à partir d'un appareil réel.)
race_carr

1
l'enregistrement d'écran peut maintenant atteindre près de 60 images par seconde tandis que l'appstore n'accepte que 30 images par seconde, ce qui le rend
inutilisable à

11
Je n'ai pas tous différents types d'appareils
János

1
@PetrV J'ai eu du mal avec iMovie à vouloir tout exporter à 60fps pour TOUJOURS ... Il s'avère que vous pouvez ramener la grande vidéo iMovie 60fps dans Quicktime et EXPORTER à partir de Quicktime comme pour iPad2, ce qui baisse la fréquence d'images et rend la vidéo heureuse pour iTunesConnect. Totalement jenky, mais j'ai tellement fini de jouer avec ça et cela a fonctionné.
Dave Levy

62

Je suis en fait surpris que personne n'ait fourni ma réponse. Voici ce que vous faites (cela fonctionnera si vous avez au moins 1 appareil éligible):

  1. Enregistrez, modifiez et terminez l'aperçu de l'application avec l'appareil que vous possédez.
  2. Exporter en tant que fichier.
  3. Accédez à vos Simulateurs et imprimez l'écran 1 photo sur chacune des différentes tailles d'iPhone.
  4. Créez un nouvel aperçu d'application dans iMovie.
  5. Insérez d'abord la capture d'écran de la taille souhaitée, puis ajoutez le fichier de l'aperçu de l'application que vous avez déjà créé.
  6. Exporter en utilisant Partager -> Aperçu de l'application
  7. Répétez les étapes 4 à 6 pour les nouvelles tailles.

Vous devriez pouvoir obtenir l'aperçu de votre application dans la résolution souhaitée.


8
Eric, tu es un génie. Cela fonctionne parfaitement! Je devais m'assurer de prendre mes captures d'écran du simulateur à 100%.
Swindler

2
Eric, excellente réponse. Merci beaucoup!
Dominique Vial

Parfois , vous voudrez peut - être créer un iPad comme 900x1200, puis utilisez cette commande pour la transformer en résolution iPhone, avec des barres vides en haut et en bas: ffmpeg -i appPrevw_ipad.mp4 -vf scale=1080:-1,pad=1080:1920:0:200:white appPrevw_iphone.mp4. 200 est le placement vertical du contenu iPad (plus court). Vous pouvez prendre cela comme base et ajouter plus de choses dans les barres vides.
ishahak

2
C'est la meilleure solution.
CodyMace

le rapport d'aspect lol de l'iphone plus / normal est différent de X, donc cela ne fonctionne pas et ce n'est pas une bonne idée de recadrer la vidéo non plus
Reza.

43

Vous pouvez enregistrer une partie de l'écran avec l'utilitaire de capture d'écran intégré:

  1. Appuyez sur Maj-Commande-5 pour afficher un panneau de configuration.
  2. Sélectionnez entrez la description de l'image ici.
  3. Sélectionnez une partie de l'écran que vous souhaitez enregistrer. Ce serait le simulateur iPhone.
  4. Cliquez entrez la description de l'image icipour arrêter l'enregistrement.
  5. Une vignette apparaîtra dans le coin inférieur droit de l'écran. Vous pouvez le modifier avant de l'enregistrer.

Si vous souhaitez visualiser les clics de souris, après l'étape 1, sélectionnez le contrôle Options et activez Afficher les clics de souris .


1
Toujours agréable d'utiliser des outils intégrés. Avant Mojave, j'utilisais l'outil licecap . Il génère des gifs qui nécessitent moins d'espace qu'un fichier .mov. ( cockos.com/licecap | licecap de recherche de bière )
Apoc

Fonctionne toujours à Catalina. Remarque: affiche le pointeur de la souris ainsi que les clics ...
leanne

facile et assez ~
kjian

30

Vous devez utiliser QuickTime dans Yosemite pour vous connecter et enregistrer l'écran de vos appareils iOS.

Portrait iPhone

Une fois l'enregistrement terminé, vous pouvez utiliser iMovie pour éditer la vidéo. Lorsque vous travaillez sur un aperçu de l'application iPhone Portrait, la résolution doit être, 1080x1920mais iMovie ne peut exporter qu'en 16:9( 1920x1080).

Une solution serait d'importer la vidéo enregistrée avec la résolution 1080x1920et de la faire pivoter de 90 degrés. Ensuite, exportez le film à 1920x1080et faites pivoter la vidéo exportée de 90 degrés à l'aide de ffmpeg et de la commande suivante

ffmpeg -i Landscape.mp4 -vf "transpose=1" Portrait.mp4

iPad

L'iPad est un peu plus délicat car il nécessite une résolution de 1200x900( 4:3) mais iMovie exporte uniquement en 16:9.

Voici ce que j'ai fait.

  1. Enregistrez le film sur iPad Air en paysage ( 1200x900, 4:3)
  2. Importez dans iMovie et exportez en tant que 1920x1080, 16:9( iPadLandscape16_9-1920x1080.mp4)
  3. Supprimez les barres noires gauche et droite d'une vidéo avec 1440x1080. La largeur d'une barre est240

    ffmpeg -i iPadLandscape16_9-1920x1080.mp4 -filter:v "crop=1440:1080:240:0" -c:a copy iPadLandscape4_3-1440x1080.mp4
  4. Réduire le film à 1220x900

    ffmpeg -i iPadLandscape4_3-1440x1080.mp4 -filter:v scale=1200:-1 -c:a copy iPadLandscape4_3-1200x900.mp4

Tiré de ma réponse sur le Forum des développeurs Apple


1
C'est intelligent, mais le recodage à l'aide de ffmpeg dégrade trop la qualité vidéo au point qu'elle n'est pas utilisable.
RawMean

Comment définir l'exportation sur 1080x1920? Je ne trouve pas ces dimensions dans iMove!
Mariam

@Mariam Vous ne pouvez pas exporter en 1080x1920. iMovie ne peut exporter qu'en 16: 9 (1920x1080).
brutella

14
Cela ne répond pas à la question.
Tim Chen du

J'ai trouvé que vous pouvez installer l'application Handbrake sur OS X, elle permet de réduire l'échelle à n'importe quelle dimension que vous désirez. Ensuite, pour prendre en charge les exigences Apple, vous pouvez importer le résultat dans Quicktime et l'enregistrer à l'aide d'un codec Apple et il se retrouvera dans la taille du fichier d'entrée. En guise de remarque, Handbrake peut encoder en fichiers vidéo mp4 incroyablement compacts, le ré-encodage à l'aide d'un encodeur Apple a entraîné une taille 10 fois supérieure. Je suppose que ffmpeg dans l'exemple ci-dessus par brutella atteindra le même résultat final, mais faites attention Apple peut être pointilleux sur le codec que vous avez utilisé pour produire la vidéo résultante.
Gunnar Forsgren - Mobimation

27

Prendre une capture d'écran ou enregistrer une vidéo à l'aide de la ligne de commande

Vous pouvez prendre une capture d'écran ou enregistrer une vidéo de la fenêtre du simulateur à l'aide de l' xcrunutilitaire de ligne de commande.

  1. Lancez votre application dans Simulator.

  2. Lancez Terminal (situé dans /Applications/Utilities) et entrez la commande appropriée:

    • Pour prendre une capture d'écran, utilisez l' screenshotopération:

      xcrun simctl io booted screenshot

      Vous pouvez spécifier un nom de fichier facultatif à la fin de la commande.

    • Pour enregistrer une vidéo, utilisez l' recordVideoopération:

      xcrun simctl io booted recordVideo <filename>.<extension>

      Pour arrêter l'enregistrement, appuyez sur Control-C dans le terminal.

      Remarque: Vous devez spécifier un nom de fichier pour recordVideo.

    L'emplacement par défaut du fichier créé est le répertoire actuel.

    Pour plus d'informations sur simctl, exécutez cette commande dans le terminal:

    xcrun simctl help

    Pour plus d'informations sur la iosous - commande de simctl, exécutez cette commande:

    xcrun simctl io help

À partir de la documentation Apple .


3
Aucun audio produit :(
Jules

4
Le lien vers la documentation Apple n'était pas très spécifique / utile. J'ai dû chercher avant de découvrir que les extensions de fichiers vidéo que vous pouvez utiliser sont h264, mp4ou fmp4. Exemple: xcrun simctl io booted recordVideo test-video-recording.mp4. De plus, pour terminer la vidéo, j'ai dû mettre fin au processus terminal avec control+ c.
Trev14

Cette solution a fonctionné mais elle n'enregistre pas l'audio du simulateur
duyhungws

20

Vous pouvez le faire gratuitement avec les outils suivants. Vous aurez besoin d'au moins un appareil réel (j'ai utilisé un iPhone 5)

Capturez la vidéo avec le simple, mais excellent appshow (noter que ceci est un outil très barebones, mais il est très facile à apprendre). Cela sera exporté à la résolution native de l'appareil (640x1136).

Redimensionnez avec ffmpeg. En raison de l'arrondissement, vous pouvez aller directement entre les résolutions, mais vous devez surdimensionner puis recadrer.

ffmpeg -i video.mov -filter:v scale=1084:1924 -c:a copy video_1084.mov
ffmpeg -i video_1084.mov -filter:v "crop=1080:1920:0:0" -c:a copy video_1080.mov

Pour iPad, vous pouvez recadrer puis ajouter une boîte aux lettres. Cependant, un recadrage comme celui-ci ne donnera généralement pas une vidéo qui ressemble exactement à celle de votre application sur l'ipad. YMMV.

ffmpeg -i video.mov -filter:v "crop=640:960:0:0" -c:a copy video_640_960.mo
ffmpeg -i video_640_960.mov -filter:v "pad=768:1024:64:32" -c:a copy video_768_1024.mov
ffmpeg -i video_768_1024.mov -filter:v scale=900:1200 -c:a copy video_900_1200.mov

Omg, tu m'as fait gagner beaucoup de temps. Merci beaucoup.
Dinesh Raja

Pouvez-vous m'aider à redimensionner la vidéo 640 * 1136 en résolution 750 * 1334?
Dinesh Raja

1
Pour l'iphone 6+, les commandes sont ffmpeg -i source.mov -filter:v scale=1246:2216 -c:a copy intermediate.movet ffmpeg -i intermediate.mov -filter:v "crop=1242:2208:0:0" -c:a copy final.mov
Daniel Kanaan

@vish @daniel Sur ma machine, ces sorties ne peuvent pas être ouvertes dans QuickTime et ne seront pas téléchargées sur iTunes Connect. Ils s'ouvrent cependant dans VLC. J'ai essayé -pix_fmt yuv420pet -vcodec lib264xsans chance ...
Nate

@ntesler, malheureusement je ne sais pas quel est le problème, mais je peux vous dire que j'ai pu ouvrir rapidement et télécharger sur itunesconnect avec ces commandes exactes. J'ai installé ffmpeg avec homebrew et il a une versionffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
vish

19

C'est la façon dont j'ai trouvé le plus simple et vous n'avez besoin que d'un iPhone et d'un iPad:

Écran d'enregistrement de l'appareil avec QuickTime Player:

  • Connectez votre appareil.
  • Ouvrez QuickTime Player.
  • Choisissez Fichier> Nouvel enregistrement vidéo (CMD + alt + N)
  • Dans la fenêtre qui apparaît, sélectionnez votre appareil iOS comme appareil photo avec une résolution maximale.
  • Enregistrer le fichier vidéo (CMD + S)

Ouvrez iMovie

  • Sélectionnez Fichier -> Aperçu de la nouvelle application
  • Faites glisser une IMAGE depuis votre application avec la plus grande résolution ex. une capture d'écran 1920 x 1080 du projet. (Cela rend la vidéo 1920 x 1080 même si vous avez enregistré avec un iPhone 5)
  • Faites glisser le film que vous avez enregistré vers le projet.
  • Enregistrez en choisissant Fichier -> Partager -> Aperçu de l'application

Maintenant, faites-le avec tous vos appareils ou:

Télécharger Handbreak: https://handbrake.fr/downloads.php

Et redimensionnez la vidéo haute résolution:

  • Faites glisser votre vidéo haute résolution vers Handbreak
  • Sélectionnez l'icône "Paramètres d'image"
  • Redimensionner à la bonne taille - fermez et appuyez sur l'icône "Démarrer" - est enregistré sur le bureau

18

Le Guide de l'utilisateur du simulateur d'Apple indique dans Prendre une capture d'écran ou enregistrer une vidéo à l'aide du paragraphe de ligne de commande :

Vous pouvez prendre une capture d'écran ou enregistrer une vidéo de la fenêtre du simulateur à l'aide de l' xcrunutilitaire de ligne de commande.


Pour enregistrer une vidéo, utilisez l' recordVideoopération dans votre terminal:

xcrun simctl io booted recordVideo <filename>.<extension>

Notez que le fichier sera créé dans le répertoire courant de votre Terminal.


Si vous souhaitez enregistrer le fichier vidéo dans votre dossier Desktop, utilisez la commande suivante:

xcrun simctl io booted recordVideo ~/Desktop/<filename>.<extension>

Pour arrêter l'enregistrement, appuyez sur Control-Cdans Terminal.


6
Mes vidéos sortaient toujours corrompues. Une fois visionnée, la vidéo deviendrait verte et pixélisée. La veille, iMovie n'avait pas réussi à l'exporter.
toast le

4

À partir de Xcode 9 et plus, vous pouvez prendre une capture d'écran ou enregistrer une vidéo en utilisant le binaire simctl que vous pouvez trouver ici:

/Applications/Xcode.app/Contents/Developer/usr/bin/simctl

Vous pouvez l'utiliser avec xcrun pour commander le simulateur dans la ligne de commande.

  1. Pour prendre une capture d'écran, exécutez ceci en ligne de commande:

    xcrun simctl io booted screenshot
  2. Pour enregistrer une vidéo sur le simulateur à l'aide de la ligne de commande:

    xcrun simctl io booted recordVideo fileName.videoType(e.g mp4/mov)

Remarque: Vous pouvez utiliser cette commande dans n'importe quel répertoire de votre choix. Le fichier sera enregistré dans ce répertoire.


4

À partir d'aujourd'hui en 2019, Apple a rendu la vie beaucoup plus facile aux développeurs de projets à petit budget ou individuels comme moi. Vous pouvez simplement utiliser la commande de terminal à partir de l'un des messages ci-dessus pour enregistrer des vidéos à partir du simulateur d'appareil souhaité. Et puis utilisez la nouvelle fonction d'aperçu des applications d'iMovie.

xcrun /Applications/Xcode.app/Contents/Developer/usr/bin/simctl io booted recordVideo pro3new.mov

iMovie -> Fichier -> Aperçu de la nouvelle application


3

Voici une solution qui fonctionne et ne coûte pas 300 $ (FinalCut Pro), mais elle nécessite ScreenFlow ( application ScreenFlow dans l'AppStore ) (100 $):

  • Connectez votre appareil à un Mac exécutant Yosemite
  • Lancez Quicktime et sélectionnez File / Newi Movie Recording
  • Lancez ScreenFlow et capturez votre vidéo
  • Modifiez votre vidéo dans ScreenFlow (ajoutez du texte, de la musique, etc.)
  • Recadrer la vidéo pour qu'elle ne contienne que l'écran de l'appareil
  • Exportez la vidéo avec la taille requise par Apple (par exemple, 1334x750)

Je pense que c'est la seule solution pour enregistrer les aperçus de l'application sans avoir tous les appareils, mais quel dommage Apple n'a pas rendu cela plus facile en capturant des vidéos directement depuis le simulateur (comme des captures d'écran)
Macistador

Je ne sais pas si cela s'applique aux films capturés avec ScreenFlow mais j'ai importé un film client qu'ils avaient enregistré à 1330x750 qui ne faisait que 9 Mo. Ils l'ont enregistré en utilisant Quicktime mais ont réussi à l'obtenir à 60fps au lieu des 30fps max autorisés. J'ai réexporté avec ScreenFlow et il a explosé à 600 Mo! J'ai ensuite mis l'original sur une machine Yosemite et utilisé les instructions d'Apple developer.apple.com/app-store/app-previews/imovie/… a pu exporter un aperçu, maintenant 14 Mo. Je ne sais pas pourquoi un film qui a commencé avec 9 Mo finit par 50% plus gros à la moitié de la fréquence d'images.
Andy Dent


2

Un conseil pour les utilisateurs qui aiment utiliser les fonctions ZSH. Vous pouvez simplifier un peu les choses en ajoutant une fonction qui fait la même chose que la réponse de @Tikhonov Alexander.

Commencez par taper:

edit ~/.zshrc

dans votre terminal.

Ajoutez ensuite cette fonction quelque part dans le fichier.

function recsim() {
    echo -n "Use CTRL+C to stop recording";
    xcrun simctl io booted recordVideo --codec=h264 --mask=black "$1.mp4";
}

Pour l'utiliser, tapez quelque chose comme:

recsim appPreview

dans votre fenêtre de terminal. Remarque: le terminal doit être redémarré après l'ajout de la fonction avant de fonctionner.

Cette fonction est adaptée du billet de blog d'Antoine Van Der Lee sur la façon de faire cela en bash, qui peut être trouvé ici.


Remarque: si l'on ne veut pas pré-spécifier l'extension, changez simplement la xcrunpartie de la ligne entre guillemets en "$1"- puis spécifiez le nom complet du fichier sur la ligne de commande:recsim appPreview.mp4
leanne

1

Vous pouvez utiliser l'enregistrement d'écran QuickTime et les simulateurs iOS pour effectuer vos enregistrements vidéo. La chose délicate ici est d'obtenir la taille correcte afin qu'iMovie puisse détecter la résolution de sortie lorsque vous allez exporter AppPreview. Je n'ai pas trouvé de moyen de sélectionner la résolution de sortie dans iMovie, donc si elle doit être détectée par le format du support que vous utilisez. Cela peut vous prendre plusieurs essais mais c'est faisable. C'est l'un de ceux-ci: ai-je 300 $ pour FinalCut Pro ou ai-je environ une heure de mon temps? Vous n'avez besoin que de trois enregistrements comme mentionné ci-dessus. Je pourrais en faire deux sur des appareils parce que je les ai mais je n'ai pas d'iPhone 6 (pour l'instant ... :)). J'aime aussi les simulateurs parce que vous pouvez utiliser quelque chose comme SimFinger pour simuler des gestes et appuyer sur des boutons.

Bonne chance!


1
Je tiens également à mentionner qu'il existe certaines limites à l'utilisation des simulateurs. Par exemple, vous devez en choisir un qui tient sur l'écran. Et cela peut ne pas toujours convenir à vos besoins. Dans mon cas, les fonctionnalités que je voulais mettre en évidence sont en mode paysage; cela a donc très bien fonctionné car certains des simulateurs ne tiennent pas en mode portrait sur mon MacBook Air. Assurez-vous que l'échelle du simulateur est réglée à 100%.
Phantom59

1
Oui, il est très irritant de constater que certains simulateurs ne tiennent pas sur l'écran, même avec un zoom arrière maximum!
AX

1

J'avais la meilleure chance de faire des films de démonstration de haute qualité sur l'App Store pour IOS en utilisant ScreenFlow. J'ai mis à niveau vers 5 pour pouvoir enregistrer directement sur l'appareil, et j'ai obtenu un MacBook Air 2. Mais j'ai d'abord pensé que j'essaierais d'utiliser la méthode de capture QuickTime et peut-être d'éditer avec iMove. Il s'avère que le flux d'écran est imbattable si vous voulez montrer le doigt de l'utilisateur se déplaçant à travers la surface et cliquant sur des choses (ils peuvent ajouter du son, des impulsions radar, etc.) Pour mes applications, cela était très important et créer les transitions et l'édition nécessaires pour atteindre ces effets, au lieu d'exécuter l'application dans le simulateur et de laisser ScreenFlow utiliser les mouvements du curseur, étaient infiniment plus de travail et j'ai abandonné rapidement.

J'ai maintenant eu beaucoup de succès avec les applications iPad et iPhone, y compris 6+ applications. J'ai un nouvel iMac 5K, je peux donc tout simuler, mais toutes mes applications iPad que j'exporte à partir du flux d'écran à 1200x900; Je viens de créer des applications iPhone en 1080x1920 et j'ai eu un vrai problème - je n'arrêtais pas de recevoir le message "La prévisualisation vidéo de votre application n'a pas pu être enregistrée. Réessayez. Si le problème persiste, contactez-nous.". J'ai trouvé une excellente explication de cela ici http://blog.eumlab.com/app-video-preview/mais je n'ai pas aimé "utiliser l'encodeur multimédia Adobe Creative Cloud" pour y remédier, même s'il est gratuit. Donc, après avoir lu les messages sur ce fil, j'ai importé mon film Screen Flow 5 mp4 qui semblait répondre aux spécifications exactes requises (rappelez-vous que le magasin ne rejetait pas mon film, il ne pouvait tout simplement pas l'enregistrer); créé un nouveau projet de "film d'aperçu d'application"; j'ai copié mon clip dans le projet "Film de prévisualisation d'application", puis j'ai exporté le "nouveau" film à l'aide des préréglages intégrés et a) mon 29 deuxième fichier mp4 de 5 Mo est devenu un fichier de 28 Mo; mais b) il a importé la première fois et fonctionne très bien. Même résolution, même fréquence d'images, même encodage audio, même encodage vidéo - mais maintenant l'App Store aime le fichier (maintenant gonflé) et j'ai mes effets de curseur. [ Je n'avais jamais utilisé iMovie auparavant.] Vous pouvez voir ces vidéos sur YouTube ou dans la boutique. Voir par exemple la vidéo iPad d'une version française d'une application d'apprentissage de mots sur http://youtu.be/L0nBYeK4Pm4 ; puis une application iPad qui est une multi-coupe de 8 versions différentes de la langue de l'interface utilisateur de l'application (internationalisée pour 8 langues utilisateur L1 différentes) est ici: http://youtu.be/CjXkAvuBXyQ ; et une vidéo iPhone 6+ d'une version iPhone de la même application est ici: http://youtu.be/36kdLztvc_A . J'ajoute des films à mesure que j'ajoute des fichiers audio et d'autres mises à niveau iOS 7/8 à mes applications d'apprentissage de mots (à l'origine pour m'aider à apprendre à lire les mots chinois) - ce qui semble être un excellent moyen pour les gens de savoir ce qu'ils achètent.

Mais bien sûr, si vous n'avez pas besoin de montrer le "doigt" et les "clics", ou si vous avez déjà maîtrisé de tels effets dans iMovie ou autres, respectez ce que vous savez.


1

J'étais confronté au même problème. Il a une solution très simple qui a fonctionné pour moi. Suivez simplement ces étapes:

1.Faites un aperçu vidéo dans iMovie.

2.Exportez la vidéo en utilisant l'option de partage de fichiers. Choisissez 1920x1080 car il peut être utilisé pour 5S et 6 plus.

3.Téléchargez Appshow pour Mac par techsmith ( https://www.techsmith.com/techsmith-appshow.html .) Il est spécialement conçu pour créer des vidéos d'aperçu d'application. Mais je ne le recommande pas pour faire des vidéos mais juste pour exporter.

4.Choisissez une nouvelle vidéo d'aperçu d'application et personnalisez-la en choisissant moins d'images que vous pourrez ensuite supprimer.

5.Importez votre vidéo iMovie dans ce modèle. Dans le coin supérieur droit, vous pouvez choisir la résolution que vous souhaitez, appshow a toutes les résolutions requises pour l'aperçu de l'application.

6.Enfin, choisissez simplement l'appareil et exportez la vidéo dans la résolution que vous avez sélectionnée.


1

Dans Paramètres de mon MBP> Affichages> Affichage, je vois un paramètre pour «Résolution: par défaut pour l'affichage / à l'échelle». Je l'ai réglé sur «Plus d'espace», puis j'ai essayé les différents simulateurs, qui semblent tous tenir à 100% sur l'écran agrandi. Je pense que cela ne fonctionnerait pas avec votre écran FullHD ...

Une alternative pourrait être d'essayer d'installer une sorte de solution de serveur VNC sur le simulateur, comme https://github.com/wingify/vnc , et d'enregistrer cela avec un enregistreur VNC - je crois qu'il y a un enregistreur Python VNC là-bas.


0

Malheureusement, l'application iOS Simulator ne prend pas en charge l'enregistrement de vidéos. La chose la plus simple à faire est d'utiliser Quicktime Player pour faire un enregistrement d'écran. Bien sûr, vous verrez la souris interagir avec elle, ce qui n'est pas ce que vous voulez, mais je n'ai pas de meilleure option pour vous en ce moment.


2
Cette réponse est désormais obsolète. À partir de Xcode 9, vous pouvez enregistrer des vidéos sur le simulateur en utilisant la ligne de commande comme le suggèrent de nouvelles réponses.
Yassine ElBadaoui

@YassineElBadaoui mais pas audio
Jules

0

Vous pouvez combiner QuickTime Player + iMovie (gratuit)

Dans un premier temps, choisissez votre simulateur souhaité dans xcode et enregistrez l'écran à l'aide de QuickTime Player. Après cela, utilisez iMovie pour créer l'aperçu de l'application et enfin télécharger la vidéo avec le navigateur Safari. ** entrez la description de l'image ici **C'est simple... :)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.