¿Mac OS X en una VM VirtualBox es adecuado para el desarrollo de iOS?

8

He finalmente arreglado para instalar Mac OS X en una máquina virtual en mi portátil con Windows 7 usando VirtualBox y un tutorial de Lifehacker.

El rendimiento es muy lento, y Mountain Lion informa que solo ve 4 MB de memoria de video (no logré cargar el controlador Intel HD3000). Youtube es esencialmente imposible de jugar, incluso con la poción de audio tartamudeando. Dicho esto, la interfaz y la interfaz de usuario general son bastante aceptables.

Incluso con un rendimiento tan lento, ¿tiene sentido descargar y desarrollar con Xcode? Estoy asignando 3 GB de RAM. ¿Cómo sería el rendimiento en esas condiciones?

Rojo y blanco
fuente
1
puedes probarlo y verlo, pero dudo que sea un entorno adecuado para el desarrollo.
jakev
¿No se trataría más de ajustar y configurar su software VM para que coincida con sus limitaciones de hardware que cualquier cosa relacionada con OS X?
bmike

Respuestas:

7

Si esto es un pasatiempo y no planea lanzar ninguna aplicación a la tienda de aplicaciones, y puede tolerar el lento rendimiento y no le importa correr en dispositivos reales, entonces no se preocupe. Sin embargo, si está creando un negocio, es esencial que se ejecute en hardware real. Cualquier Mac de gama baja (MacBook Air 11 ", es mi favorito actual) volará cualquier máquina virtual.

Tengo una aplicación bastante simple que funciona bien en mi iPad y iPod Touch, pero tiene todo tipo de anomalías gráficas en el simulador.

Ɱark Ƭ
fuente
44
Creé una VM con 4cpus @ 4GHZ y 4GB de RAM. La velocidad de compilación expulsa un aire de Macbook del agua. Lo único que está entrecortado en la VM son los gráficos, pero es lo suficientemente soportable como para que pueda implementarlos en mi iPhone real para probar cuando sea necesario.
Avindra Goolcharan
3

Virtualbox en Windows definitivamente no es adecuado para esto, ya que Windows en sí mismo consume bastante recursos, Virtualbox carece de muchas opciones de configuración e incluso si puede hacer que funcione, será bastante poco confiable, sin mencionar que no puede pasar Dispositivos USB.

Lo que puede hacer (y lo he hecho con mucho éxito) es usar una instalación ligera de Linux como base para QEMU, que es una alternativa de Virtualbox, con muchas más opciones de configuración, incluida la capacidad de emular Apple SMC y su "OSK" cadena (no necesitará kexts sombreados "hackintosh") y tiene un paso de USB confiable (restauré con éxito dispositivos iOS e instalé aplicaciones en ellos).

Al final, con mi solución puedo ejecutar Yosemite con éxito con 3,5 GB de RAM (de los 4 GB de mi computadora, y al ajustar el sistema host, probablemente podría llevarlo aún más a 3,7 GB), usando dos núcleos de mi CPU, con un paso USB confiable y sin necesidad de ajustes (el hardware emulado está lo suficientemente cerca de una Mac real que el sistema operativo arranca directamente sin ningún parámetro de línea de comando del kernel o kexts adicionales). Sin embargo, un SSD es imprescindible, un disco duro será muy lento (eso también es cierto para una Mac real). Los gráficos siguen siendo lentos (y es aún peor en Yosemite), pero además de la pantalla de inicio de sesión que tarda unos buenos 5 segundos en procesarse debido a su transparencia, todo lo demás es bastante útil, y es suficiente para el desarrollo ocasional de iOS (hobby) hasta que tenga suficiente experiencia para hacer aplicaciones rentables en cuyo caso '

Publiqué una guía detallada en mi blog sobre cómo crear una máquina virtual de Yosemite, no dude en consultarla si está interesado.


fuente
2
votando pero el enlace a la publicación del blog no es válido ahora
Mixaz
¿Funciona esto bajo WSL?
Killroy
2

En algún lugar, VirtualBox le advierte en el manual aquí que NO tendrá aceleración de gráficos. No hay controladores acelerados para Mac OS X, por lo que esencialmente se está ejecutando en "modo seguro" para gráficos, utilizando controladores VESA. Apple tenía una API de controlador público en un punto, pero debe haber alguna razón por la cual los desarrolladores de VirtualBox aún no han lanzado un controlador de gráficos para OS X.

Lea la página del manual vinculada, también documenta otros problemas que tendrá con los invitados de OS X.

El resultado no es la virtualización, sino más cerca de la paraemulación con la virtualización de la CPU. Su sistema de gráficos está completamente emulado, principalmente por Mac OS X debido a la falta de controladores de gráficos acelerados.

La virtualización de Mac OS X en VirtualBox no está diseñada para un uso serio de escritorio. Está destinado a la virtualización del servidor.

Kirn Gill
fuente
0

Esencialmente, está ejecutando 2 cajas virtuales si usa el emulador de iOS y adopta este enfoque. 1 para OSX y 1 (esencialmente) para el emulador. Esto puede ser muy intensivo en CPU y RAM, pero es factible. La mejor apuesta, dale una oportunidad. Si no le gusta, simplemente elimine la imagen vm.

Agente 404
fuente
¿Qué pasa con la legalidad de la misma? Tengo una licencia para Mountain Lion cuando la compré para mi MacBook Pro personal, pero instalé un ISO pirateado para mi computadora portátil de trabajo
Redandwhite
Hasta donde yo sé, no pagas por el contenido del sistema operativo, pagas por los derechos del sistema operativo. Por lo tanto, esto me parece 100% legal. Hice lo contrario con Windows (y Android Emulator) hace aproximadamente un año.
Agente 404
1
OS X solo ha tenido licencia para ejecutarse en hardware Macintosh.
bmike
77
AFAICT, esto no es cierto. El simulador de iOS no es un emulador. Construye su código para x86 y se vincula con marcos nativos x86.
Ken