Untuk Xcode 8.2 atau yang lebih baru
Anda dapat mengambil video dan tangkapan layar Simulator menggunakan xcrun simctl
utilitas baris perintah untuk mengontrol Simulator
- Jalankan aplikasi Anda di simulator
- Buka terminal
Jalankan perintah
Untuk mengambil tangkapan layar
xcrun simctl io booted screenshot <filename>.<file extension>
Sebagai contoh:
xcrun simctl io booted screenshot myScreenshot.png
Untuk mengambil video
xcrun simctl io booted recordVideo <filename>.<file extension>
Sebagai contoh:
xcrun simctl io booted recordVideo appVideo.mov
Tekan ctrl + c
untuk berhenti merekam video.
Lokasi default untuk file yang dibuat adalah direktori saat ini.
Xcode 11.2 dan yang lebih baru memberikan opsi tambahan.
Dari Xcode 11.2 Catatan Rilis Beta
Perekaman video simctl sekarang menghasilkan file video yang lebih kecil, mendukung kompresi HEIC, dan memanfaatkan dukungan pengodean perangkat keras jika tersedia. Selain itu, kemampuan untuk merekam video di perangkat iOS 13, tvOS 13, dan watchOS 6 telah dipulihkan.
Anda dapat menggunakan bendera tambahan:
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.
Sekarang Anda dapat mengambil tangkapan layar jpeg
, dengan mask (untuk tampilan non-persegi panjang) dan beberapa bendera lainnya:
xcrun simctl io booted screenshot --type=jpeg --mask=black screenshot.jpeg