¿Cómo tomar capturas de pantalla a las 9:41 am en un simulador y dispositivo iOS?

Sé que es posible grabar la pantalla en Yosemite y tomar capturas de pantalla que tengan 9:41 am. ¿Esta misma funcionalidad es posible con el Simulador?

Respuestas (4)

A partir de Xcode 11 beta 4, puede usar el xcrun simctlcomando para configurar la hora y la batería en el Simulador.

xcrun simctl status_bar <device> override --time "9:41" \
    --batteryState charged --batteryLevel 100

Ejemplo de uso:

xcrun simctl status_bar "iPhone 11 Pro Max" override --time "9:41" \
    --batteryState charged --batteryLevel 100

El simulador debe ejecutarse antes de ejecutar el comando.

Consulte https://developer.apple.com/documentation/xcode_release_notes/xcode_11_beta_4_release_notes para obtener más detalles.

Hay una herramienta para recorrer todos los simuladores en ejecución y también manejar las zonas horarias un poco mejor que llamarlo explícitamente cada vez:2020-09-15T09:41:00-07:00

Gracias, mi simulador de iOS me da ansiedad por batería baja cuando muestra el ícono de advertencia rojo. ¡Esto me salvó el día!
Utilice booteden lugar de <device>para aplicar la configuración a todos los simuladores en ejecución.
También puede establecer la fecha (que se muestra en iPads) pasando una cadena de tiempo con formato de fecha ISO completo , por ejemplo:"2021-06-28T07:32:00-07:00"
@RobinStewart O vaya 2020-09-15T09:41:00-07:00si quiere hacer coincidir las imágenes actuales del producto iPad de Apple. Parece que solo toman el primer martes del último mes de septiembre que tiene un ordinal de día de dos dígitos.
Hay Nine41 que ayuda a evitar escribir mucho.
Creo que la fecha debería ser 2007-01-09, la fecha de lanzamiento del iPhone. Revisé muchas aplicaciones, la mayoría no sigue esa fecha. La aplicación Mensaje lo hizo.
Intenté esto, pero no funcionó. ¿Solo escribo esto en la aplicación de terminal?

Hay 2 formas de hacer esto:

1. Clone, construya y ejecute SimulatorStatusMagic en su simulador.

Esto solo funcionará para su simulador.

https://github.com/shinydevelopment/SimulatorStatusMagic

cd ~/Desktop
git clone git@github.com:shinydevelopment/SimulatorStatusMagic.git
cd ~/Desktop/SimulatorStatusMagic
open SimulatorStatusMagic.xcodeproj/
# Build the "Framework" Target
# Build & RUN the "SimulatorStatusMagic" in your Emulator

2. a través de QuickTime Player:

Esto solo funcionará para su dispositivo.

  • Conecta tu propio dispositivo a tu Mac.
  • Abra "QuickTime Player" (Instálelo si es necesario)
  • Archivo → Nueva grabación de película
  • Haga clic en el menú desplegable junto al botón Registro rojo
  • Seleccione su iPhone, por ejemplo: "iPhone de Anil"
  • Grabe y muestre su pantalla, luego detenga la grabación.
  • Ahora puede "Reproducir" su grabación, encontrar la pantalla que desea, pausarla,
    Editar menú → Copiar (copiará la captura de pantalla).

Ambos deberían dar como resultado algo como esto (Hora 9:41 AM - Batería completa y Wifi):

Cómo tomar una captura de pantalla de iPhone 9 41 AM

Esta herramienta es útil si tiene iOS 12 o inferior y/o Xcode 10 o inferior.

Simplemente ejecuto este comando en la terminal después de ejecutar mi código en el simulador:

xcrun simctl status_bar booted override --time "2007-01-09T09:41:00-6:00" --wifiBars 3 --cellularBars 4 --batteryLevel 100

Deberá reemplazar la zona horaria -6:00por la que sea suya.

¿En qué se diferencia ese comando del que está en la pregunta, es decir, qué parte exacta de la línea de comando necesita cambiar el OP? y preferiblemente explicar por qué

Ahora que Apple ha entregado una herramienta para administrar esto, use Nine41 y/oxcrun simctl status_bar

Esos son mucho más eficientes en tiempo que arreglarlo en la postproducción con Photoshop, Pixelmator o Acorn y el editor de video de su elección, ya que debe prestar atención a estos detalles .

Una captura de pantalla en el momento adecuado con fondos claros y oscuros le permite ajustar el nivel de la batería, las barras, el tiempo y más para satisfacer sus necesidades.

Incluso hay complementos para el simulador que limpiarán mediante programación la barra de estado por más tiempo si está ejecutando su código de esa manera y no en un dispositivo: