Czy Mac OS X w maszynie wirtualnej VirtualBox nadaje się do programowania na iOS?

8

W końcu udało mi się zainstalować Mac OS X na maszynie wirtualnej na moim laptopie z systemem Windows 7 za pomocą VirtualBox i samouczka od Lifehacker.

Wydajność jest bardzo niska, a Mountain Lion informuje, że widzi tylko 4 MB pamięci wideo (nie udało mi się załadować sterownika Intel HD3000). YouTube jest zasadniczo nie do odtworzenia, nawet z jąkaniem się mikstury audio. To powiedziawszy, interfejs i ogólny interfejs użytkownika jest całkiem do przyjęcia.

Czy przy tak niskiej wydajności sensowne jest pobieranie i rozwijanie za pomocą Xcode? Przydzielam 3 GB pamięci RAM. Jaka byłaby wydajność w tych warunkach?

Czerwony i biały
źródło
1
możesz spróbować i przekonać się, ale wątpię, czy będzie to odpowiednie środowisko do rozwoju.
jakev
Czy nie byłoby to bardziej o dostrajaniu i konfigurowaniu oprogramowania VM w celu dopasowania do ograniczeń sprzętowych, niż cokolwiek związanego z OS X?
bmike

Odpowiedzi:

7

Jeśli to hobby i nie planujesz wypuszczać żadnych aplikacji do sklepu z aplikacjami, możesz tolerować niską wydajność i nie przejmować się uruchomieniem na prawdziwych urządzeniach, nie martw się o to. Jednak jeśli tworzysz firmę, bardzo ważne jest, aby działać na prawdziwym sprzęcie. Każdy komputer Mac klasy niskiej (MacBook Air 11, jest moim ulubionym) zdmuchnie każdą maszynę wirtualną.

Mam dość prostą aplikację, która działa dobrze na moim iPadzie i iPodzie Touch, ale ma różnego rodzaju anomalie graficzne w symulatorze.

Ɱark Ƭ
źródło
4
Stworzyłem maszynę wirtualną z 4cpus @ 4GHZ i 4 GB pamięci RAM. Szybkość kompilacji wydmuchuje powietrze Macbooka z wody. Jedyną rzeczą, która jest niepewna na maszynie wirtualnej, jest grafika, ale jest wystarczająco znośna, że ​​mogę po prostu wdrożyć na moim prawdziwym iPhonie, aby przetestować, kiedy trzeba.
Avindra Goolcharan
3

Virtualbox w systemie Windows zdecydowanie nie nadaje się do tego, ponieważ sam system Windows jest dość wymagający pod względem zasobów, Virtualbox nie ma wielu opcji konfiguracji i nawet jeśli uda ci się go uruchomić, będzie dość zawodny, nie wspominając o tym, że nie możesz przejść przez Urządzenia USB.

To, co możesz zrobić (i udało mi się to z dużym sukcesem), to użycie lekkiej instalacji Linuksa jako podstawy dla QEMU, która jest alternatywą dla Virtualbox, z wieloma dodatkowymi opcjami konfiguracji, w tym możliwością emulacji Apple SMC i jego „OSK” string (nie będziesz potrzebować cienistych tekstów „hackintosh”) i ma niezawodne przejście przez USB (pomyślnie przywróciłem urządzenia iOS i zainstalowałem na nich aplikacje).

Ostatecznie, dzięki mojemu rozwiązaniu, jestem w stanie z powodzeniem uruchomić Yosemite z 3,5 GB pamięci RAM (z 4 GB mojego komputera, a poprzez udoskonalenie systemu hosta prawdopodobnie mógłbym go jeszcze zwiększyć do 3,7 GB), używając dwa rdzenie mojego procesora, z niezawodnym przejściem przez USB i nie wymagającym podkręcania (emulowany sprzęt jest wystarczająco blisko prawdziwego Maca, że ​​system operacyjny uruchamia się bezpośrednio bez parametrów wiersza polecenia jądra lub dodatkowych tekstów). Dysk SSD jest jednak koniecznością, dysk twardy będzie cholernie wolny (dotyczy to również prawdziwego komputera Mac). Grafika jest nadal wolna (aw Yosemite jest jeszcze gorzej), ale oprócz ekranu logowania, który renderuje się z powodu przezroczystości, zajmuje 5 sekund, wszystko inne jest całkiem użyteczne i wystarcza do sporadycznego (hobby) programowania iOS, dopóki nie zdobędziesz wystarczającej ilości doświadczenie w tworzeniu rentownych aplikacji, w którym to przypadku „

Na moim blogu zamieściłem szczegółowy przewodnik na temat tworzenia maszyny wirtualnej Yosemite. Jeśli chcesz, możesz ją sprawdzić.


źródło
2
głosuje, ale link do wpisu na blogu jest teraz nieprawidłowy
Mixaz,
Czy to działa w ramach WSL?
Killroy
2

Gdzieś VirtualBox ostrzega cię w tym podręczniku , że NIE będziesz mieć akceleracji grafiki. Nie ma przyspieszonych sterowników dla Mac OS X, więc zasadniczo pracujesz w „trybie awaryjnym” grafiki, używając sterowników VESA. W pewnym momencie Apple miał publiczny interfejs API sterownika, ale musi być jakiś powód, dla którego programiści VirtualBox nie wydali jeszcze sterownika graficznego dla OS X.

Przeczytaj połączoną stronę podręcznika, dokumentuje ona także inne problemy, które będziesz mieć z gośćmi OS X.

Rezultatem nie jest wirtualizacja, ale bliższa paraemulacja z wirtualizacją procesora. Twój system graficzny jest w pełni emulowany, głównie przez sam Mac OS X z powodu braku przyspieszonych sterowników graficznych.

Wirtualizacja Mac OS X w VirtualBox nie jest przeznaczona do poważnego użytku na komputerze. Jest przeznaczony do wirtualizacji serwerów.

Kirn Gill
źródło
0

Zasadniczo korzystasz z 2 wirtualnych urządzeń, jeśli używasz emulatora iOS i zastosujesz to podejście. 1 dla OSX i 1 (zasadniczo) dla emulatora. Może to wymagać dużej mocy procesora i pamięci RAM, ale jest to wykonalne. Najlepszy zakład, spróbuj. Jeśli ci się nie podoba, po prostu usuń obraz vm.

Agent 404
źródło
Co z jego legalnością? Posiadam licencję na Mountain Lion, gdy kupiłem ją na mojego osobistego MacBooka Pro, ale zainstalowałem zhakowany ISO dla mojego laptopa w pracy
Redandwhite
O ile mi wiadomo, nie płacisz za zawartość systemu operacyjnego, płacisz za uprawnienia systemu operacyjnego. Dlatego wydaje mi się to w 100% legalne. Zrobiłem odwrotnie z Windows (i Android Emulator) około rok temu.
Agent 404
1
System OS X był zawsze licencjonowany do działania na sprzęcie Macintosh.
bmike
7
AFAICT, to nie jest prawda. Symulator iOS nie jest emulatorem. Buduje kod dla x86 i łączy z natywnymi strukturami x86.
Ken