Máquinas virtuales de macOS en un solo comando

| Última modificación: 4 de mayo de 2026 | Tiempo de Lectura: 3 minutos
Premios Blog KeepCoding 2025

Co-Fundador de KeepCoding

Estoy construyendo una app de menu bar para macOS. Funciona perfecta en mi Mac. Ahora necesito saber si funciona en un macOS limpio: sin mis configuraciones, sin mis permisos, sin mis datos. Un usuario que la instale de cero.

¿Cómo testeas eso? Pues necesitas una máquina virtual.

«Fácil», pensé. «Tengo UTM instalado. Abro el wizard, creo una VM macOS, y a correr.»

No iba a ser tan fácil.

UTM: bonito pero indomable

UTM es una aplicación estupenda. Interfaz cuidada, soporte para macOS como guest en Apple Silicon, pantalla completa, portapapeles compartido. Para usar a mano es genial.

El problema viene cuando intentas automatizarlo.

UTM tiene un CLI llamado utmctl. Puede listar VMs, arrancarlas, pararlas, clonarlas. Lo que no puede hacer es crear una VM. Y para macOS guest, ni siquiera el AppleScript de UTM permite crearlas — el campo del sistema operativo está hardcodeado a Linux.

Dicho en cristiano: si quieres una VM macOS en UTM, la creas a mano por el wizard. Cada vez. Con sus clicks, su descarga del IPSW (la imagen de instalación de macOS para Apple Silicon — el equivalente a un ISO de toda la vida, pero empaquetado por Apple), su espera de instalación.

Para un dev que necesita levantar y destruir VMs como parte de un flujo de QA, eso es un coñazo.

Tart: VMs macOS for the rest of us

Tart es lo que pasa cuando alguien diseña una herramienta de virtualización pensando en desarrolladores en vez de en usuarios finales.

Usa exactamente el mismo Virtualization.framework de Apple que UTM. Misma tecnología, mismas prestaciones, misma velocidad nativa. La diferencia es la interfaz: Tart es CLI-first.

brew install cirruslabs/cli/tart

Ya está. No hay GUI de configuración, no hay wizard. Un binario en tu PATH.

Un comando para gobernarlos a todos

Crear una VM macOS con la última versión disponible:

tart create mi-vm --from-ipsw latest

Eso es todo. latest le dice a Tart «dame la última versión de macOS que soporte este Mac». Tart consulta la API de Apple, descarga el IPSW (~15 GB — sí, macOS pesa lo suyo), crea el disco virtual, instala el sistema operativo y te deja la VM lista para arrancar. Ve a por un café, porque tarda un rato — pero no necesitas tocar nada.

Arrancar la VM:

tart run mi-vm

Se abre una ventana con el escritorio de macOS. Ratón, teclado, pantalla. Exactamente igual que UTM, pero lanzado desde un tart run.

Carpeta compartida: el detalle que marca la diferencia

Aquí es donde Tart me conquistó. Necesito copiar mi app desde el Mac host a la VM. En UTM hay que configurar VirtioFS manualmente, montarlo desde la terminal del guest, y rezar para que el config.plist no se corrompa (hay bugs conocidos).

En Tart:

tart run mi-vm --dir=shared:~/code/tokamak/build

Dentro de la VM, la carpeta aparece en /Volumes/My Shared Files/shared. Arrastras la app a /Applications y listo. Sin configurar nada, sin montar nada.

Mi flujo de QA real

Esto es lo que hago para testear mi app en un macOS limpio:

# Crear la VM (solo la primera vez)
tart create tokamak-qa --from-ipsw latest --disk-size 50

# Compilar la app
cd ~/code/tokamak && make build

# Arrancar la VM con la build compartida
tart run tokamak-qa --dir=build:~/code/tokamak/build/Build/Products/Debug

Dentro de la VM: 1. Abro /Volumes/My Shared Files/build/ 2. Arrastro Tokamak.app a /Applications/ 3. Ejecuto y verifico: login, permisos, sandbox, menú bar, notificaciones

Si necesito empezar de cero (testear el first launch experience):

tart delete tokamak-qa
tart create tokamak-qa --from-ipsw latest --disk-size 50

Destruir y recrear. Sin preguntas, sin confirmaciones, sin wizard.

Configurar recursos

Por defecto Tart asigna recursos razonables, pero puedes ajustarlos:

# 4 cores, 8 GB RAM
tart set mi-vm --cpu 4 --memory 8192

# Redimensionar disco
tart set mi-vm --disk-size 80

Lo que Tart no tiene (y por qué no importa)

No tiene una GUI de gestión con thumbnails de cada VM. No tiene drag and drop para ISOs. No tiene un botón bonito de «Nueva VM».

Si lo que necesitas es una app de escritorio para gestionar VMs, usa UTM. Es fantástico para eso.

Pero si lo que necesitas es testear tu app en un macOS limpio, destruir la VM, volver a crearla, compartir una carpeta, y hacer todo eso desde un script o un Makefile… UTM no puede. Tart sí.

La receta completa

# Instalar
brew install cirruslabs/cli/tart

# Crear VM macOS (descarga ~15 GB, tarda ~20 min)
tart create test-vm --from-ipsw latest --disk-size 50

# Arrancar con carpeta compartida
tart run test-vm --dir=app:~/mi-proyecto/build

# Otros comandos útiles
tart list                    # VMs existentes
tart stop test-vm            # Parar
tart clone test-vm copia-vm  # Clonar (rápido)
tart delete test-vm          # Eliminar
tart ip test-vm              # IP para SSH

La documentación cabe en un README. La curva de aprendizaje cabe en un café. Si desarrollas para macOS y no estás usando Tart, estás haciendo las cosas más difíciles de lo necesario.


Read this article in English.

Noticias recientes del mundo tech


¡CONVOCATORIA ABIERTA!

Desarrollo de apps móviles ios & Android

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado

Descárgate también el informe de tendencias en el mercado laboral 2026.

Fórmate con planes adaptados a tus objetivos y logra resultados en tiempo récord.
KeepCoding Bootcamps
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.