Mac OS X dans une machine virtuelle VirtualBox est-il adapté au développement iOS?


8

J'ai finalement réussi à installer Mac OS X dans une machine virtuelle sur mon ordinateur portable Windows 7 en utilisant VirtualBox et un tutoriel de Lifehacker.

Les performances sont très lentes, avec Mountain Lion signalant qu'il ne voit que 4 Mo de mémoire vidéo (je n'ai pas réussi à charger le pilote Intel HD3000). Youtube est essentiellement injouable, même avec le bégaiement de la potion audio. Cela dit, l'interface et l'interface utilisateur générale sont assez acceptables.

Même avec des performances aussi lentes, est-il judicieux de télécharger et de développer avec Xcode? J'alloue 3 Go de RAM. Quelle serait la performance dans ces conditions?


1
vous pouvez l'essayer et voir, mais je doute que ce soit un environnement propice au développement.
jakev

Ne s'agirait-il pas davantage de régler et de configurer votre logiciel VM pour qu'il corresponde à vos limites matérielles que tout ce qui concerne OS X?
bmike

Réponses:


7

Si c'est un passe-temps et que vous ne prévoyez pas de publier des applications sur l'App Store, et que vous pouvez tolérer la lenteur des performances et ne vous souciez pas de fonctionner sur de vrais appareils, ne vous inquiétez pas. Cependant, si vous créez une entreprise, il est essentiel de fonctionner sur du vrai matériel. Tout Mac bas de gamme (MacBook Air 11 ", mon préféré actuel) fera exploser n'importe quelle machine virtuelle.

J'ai une application assez simple qui fonctionne bien sur mon iPad et iPod Touch, mais qui a toutes sortes d'anomalies graphiques dans le simulateur.


4
J'ai créé une machine virtuelle avec 4cpus @ 4GHZ et 4 Go de RAM. La vitesse de compilation souffle un air de Macbook hors de l'eau. La seule chose saccadée sur la machine virtuelle est les graphiques, mais c'est suffisamment supportable pour que je puisse simplement déployer sur mon vrai iPhone pour tester quand j'en ai besoin.
Avindra Goolcharan

3

Virtualbox sur Windows ne convient certainement pas à cela, car Windows lui-même est assez gourmand en ressources, Virtualbox manque de nombreuses options de configuration et même si vous pouvez le faire fonctionner, cela ne sera pas assez fiable, sans oublier que vous ne pouvez pas passer Périphériques USB.

Ce que vous pouvez faire (et je l'ai fait avec beaucoup de succès) est d'utiliser une installation Linux légère comme base pour QEMU qui est une alternative à Virtualbox, avec beaucoup plus d'options de configuration, y compris la possibilité d'émuler l'Apple SMC et son "OSK" chaîne (vous n'aurez pas besoin de kexts "hackintosh" louches) et il a un passage USB fiable (j'ai réussi à restaurer les appareils iOS et à y installer des applications).

En fin de compte, avec ma solution, je suis en mesure d'exécuter avec succès Yosemite avec 3,5 Go de RAM (sur les 4 Go de mon ordinateur, et en peaufinant le système hôte, je pourrais probablement le pousser encore plus à 3,7 Go), en utilisant le deux cœurs de mon processeur, avec un passage USB fiable et aucun ajustement requis (le matériel émulé est assez proche d'un vrai Mac que le système d'exploitation démarre directement sans paramètres de ligne de commande du noyau ou kexts supplémentaires). Un SSD est un must have cependant, un disque dur sera extrêmement lent (c'est également vrai pour un vrai Mac). Les graphiques sont toujours lents (et c'est encore pire dans Yosemite) mais en plus de l'écran de connexion qui prend 5 bonnes secondes pour être rendu en raison de sa transparence, tout le reste est assez utilisable, et il suffit pour le développement iOS occasionnel (hobby) jusqu'à ce que vous en ayez assez expérience pour faire des applications rentables, auquel cas il '

J'ai publié un guide détaillé sur mon blog sur la façon de créer une machine virtuelle Yosemite, n'hésitez pas à le vérifier si vous êtes intéressé.


2
voter mais le lien vers le blog n'est plus valide maintenant
Mixaz

Est-ce que cela fonctionne sous WSL?
Killroy

2

Quelque part, VirtualBox vous avertit dans le manuel ici que vous n'aurez PAS d'accélération graphique. Il n'y a pas de pilotes accélérés pour Mac OS X, vous exécutez donc essentiellement en "mode sans échec" pour les graphiques, en utilisant les pilotes VESA. Apple avait un API de pilote public à un moment donné, mais il doit y avoir une raison pour laquelle les développeurs de VirtualBox n'ont pas encore publié de pilote graphique pour OS X.

Lisez la page de manuel liée, elle documente également d'autres problèmes que vous rencontrerez avec les invités OS X.

Le résultat n'est pas la virtualisation, mais plus proche de la paraémulation avec la virtualisation CPU. Votre système graphique est entièrement émulé, principalement par Mac OS X lui-même en raison du manque de pilotes graphiques accélérés.

La virtualisation Mac OS X dans VirtualBox n'est pas destinée à une utilisation sérieuse sur le bureau. Il est destiné à la virtualisation de serveurs.


0

Essentiellement, vous exécutez 2 boîtes virtuelles si vous utilisez l'émulateur iOS et adoptez cette approche. 1 pour OSX et 1 (essentiellement) pour l'émulateur. Cela peut devenir très intensif en CPU et en RAM, mais c'est faisable. Le meilleur pari, donnez-lui un coup de feu. Si vous n'aimez pas, supprimez simplement l'image vm.


Qu'en est-il de sa légalité? Je possède une licence pour Mountain Lion car je l'ai achetée pour mon MacBook Pro personnel, mais j'ai installé une image ISO piratée pour mon ordinateur portable de travail
Redandwhite

Autant que je sache, vous ne payez pas pour le contenu du système d'exploitation, vous payez pour les droits du système d'exploitation. Ainsi, cela me semble 100% légal. J'ai fait le contraire avec Windows (et Android Emulator) il y a environ un an.
Agent 404

1
OS X n'a ​​jamais été autorisé à fonctionner sur du matériel Macintosh.
bmike

7
AFAICT, ce n'est pas vrai. Le simulateur iOS n'est pas un émulateur. Il construit votre code pour x86 et établit des liens avec les frameworks natifs x86.
Ken
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.