Testování Delphi aplikací na Mac OS X bez macka

vložil Radek Červinka 21. prosince 2012 22:43

Delphi podporují ladění na OS X, navíc iOS je na pochodu. Jedinou možností jak si zkusit OS X pokud nemáte HW je virtuální stroj. Bohužel licenční podmínky zakazují provozovat OS X na jiném než Apple HW, navíc všechny virtuální nástroje (jako např. VMWare) mají uměle zablokovánu podporu pro OS X.

Takže pokud máte zájem vyzkoušet OS X ve VMWare tak budu předpokládat, že máte někde v koutku i HW a jen tak pro zajímavost si chcete zkusit jak poběží OS X na Vašem jiném počítači. Takže v tomto TEORETICKÉM případě vědomě porušujíce licenční podmínky můžete postupovat dle návodu Easily Run Mac OS X 10.8 Mountain Lion, ale ve zkratce:

  • Potřebuje počítač s Hardware Virtualization Technology, např. Intel VT (prý existují verze i pro AMD)
  • Pokud nemáte VMWare, můžete použít VMWare Player
  • Na stránce SoulDevTeam.net v sekci download jsou VMWare images pro různé OS X
  • Poslední verze je Mountain Lion, ale pokud tam bude Lion tak ho můžete použít také

Pokud tedy stáhnete image pro VMWare, je nutno provést odblokování VMWare (Playeru). Součástí staženého image bývá i "VMWare unlocker" - podle verze VMWare - youtube.com, odblokování je s ním jednoduché.

Nyní by podle všeho měl být Váš VMWare schopen spustit OS X image. Většinou pro každý instalovaný OS je nutno přihodit VMWare Tools pro lepší podporu v rámci virtualizovaného OS (přidá se tím třeba podpora sdílených disků atd.). OS X není vyjímkou. Jedná se o malý ISO soubor, který se připojí jako disk a z něj se spustí instalace doplňků. Pro OS X se tento soubor jmenuje darwin.iso a měl by být součástí staženého balíku.

Nyní už máte nainstalován OS. Pokud chcete zkusit ladění Delphi aplikací, je nutno nainstalovat do OS X navíc i Platform Assistant (PA) z instalačního adresáře Delphi/PAServer. PA funguje jako server pro Delphi IDE a umožňuje pohodlné spouštění a ladění. Po instalaci se PA spustí - detaily viz Delphi wiki a v Delphi se pak dá program normálně krokovat a ladit. Související téma je deploy na OS X - o tom jsem minule něco už psal.

Pokud chcete i iOS simulátor je nutné nainstalovat ze shopu zdarma XCode.

Tagy: , ,

Návody

Komentáře

22.12.2012 0:11:30 #

RadekV

Par poznamek k danemu tematu (provozuju na vmware virtualni MacOSX uz nejaky ten rok) :

1. rozhodne doporucuju pouzit workstation a udelat snapshot a nebo alespon zkopirovat virtualku az ji rozjedete. Dost casto staci update systemu pro to aby jste uz masinu nerozjeli

2. pozor na to ze pokud pouzivate mys s touchem (napr. MS Touch atd...) ktera nema fyzicke kolecko tak ve virtualce MacOSx nepujde scrolling (az pak clovek zjisti jak moc si na to kolecko zvykl)

3. v ramci vmware wks (player nevim) lze posilat USB zarizeni do vmware. Funguje to v pohode, dokonce se da poslat do vmware zarizeni v DFU pokud ho chcete jailbreaknout (a zarizeni jde vubec JB)

4. pokud se neco nezmenilo tak tools nejsou zadny slagr, nepodporuje napr. clipboard atd... Nekde na netu jsem nasel tool ktery aspon clipboard , spousta lidi pouziva Synergy ale to jsem nezkousel http://synergy-foss.org/

5. pocitejte s tim ze bez rozumne masiny je virtualizace peklo. Aktualne mam v masine 12GB ramky a virtualky ulozene mimo systemovy SSD disk a da se rict ze se to hejba. 4GB je absolutni minimum (64bit system samozrejmosti) , dva disky velka vyhoda, v pripade ntb je rychlejsi i kdyz se da virtualka na rozumny usb nez kdyz rochaj dva systemy na jednom fyzickem disku

6. pozor na to ze nekdy pozaduje XCode pred downloadem z AppStore update. Nejnovejsi verze XCode chce vetsinou nejnovejsi OS. Doporucuju overit predem co budete potrebovat

RadekV

22.12.2012 1:03:29 #

radekc

ad 5), mně se zdálo cca 6GB OK, s tím, že OS X je omezen na 3G. Ale bez HW VT to fakt nešlo. S ním je to celkem OK.

radekc

22.12.2012 10:50:30 #

z.

to je OS X tak nenazrany? jeste ze to neplanuju spustit :)

ad 4) zajimava aplikace. Nedavno jsem narazil na "Mouse Without Borders" (z Microsoft Garage) a vypada to na podobnou vec. Zkusim, co je lepcejsi.

z.

22.12.2012 15:54:52 #

RadekV

Neda se rict ze jsou ty OSy nazrane ale pokud nemas dost pameti tak se dostavas do swapovaciho pekla. OS ve virtualce swapuje protoze ma malo pameti, OS na masine swapuje taky protoze mu dost pameti sezere virtualka.

Takze zalezi i na tom jak moc mas narvanou pamet atd... na PCcku. Pro to co je popsano staci (podle mne) i 4GB, 6GB co pise Radek je uz v pohode.

Nejvetsi peklo s pameti bylo kdyz jsem ladil driver a musel jsem mit na host PC najete Visual Studio, pres remote na 64bit visty ve virtualce kde jsem ladil driver a zaroven mel najete delphi v kterych jsem mel ladeni servise ktera komunikovala s tim driverem.


Jo a jeste jedno doporuceni i kdyz to asi vetsina lidi ma - druhej monitor, klidne nejaka ludra za 2KKC ale i tak pomuze dost, hlavne kdyz se pouziva remote debug z IDE. Pak fouknete MacOSX na jeden display, na druhem jedete delphi a pokud mate rozumny procak a rozumne pameti tak je to jak dve samostatne masiny.

V tedle situacich se lame chleba mezi notakem a rozumnou desktopovou masinou protoze kdyz vali dve PCcka na jednom stroji tak je kazde jadro, kazda linka mezi pameti a CPU atd..... dobra.

Aktualne mam uz 4 tym rokem intel i7 920, 12GB ram a jen pred rokem, kdyz jsem instaloval W8 jsem doplnil SSD. A virtualky jsou na samostatnem 7200 disku. Tadle konfigurace neni nejnovejsi a presto je plne dostacujici a muzu rict ze treba MacOSX me jede lip nez na fyzickem Macu Mini 2010/11 (nejnovejsi asi bude lepsi, ten jsem v ruce nemel) a z windows sveta tam vali cokoliv

Osobne si myslim ze rozumnej programator bez virtualni masiny nemuze existovat, pro testy je k nezaplaceni moznost se jednim klikem vratit do stavu pred instalaci atd...


Jo a jedna vec - na Win8 je moznost pouzivat Hyper-V, pro Windows Phone 8 SDK je to dokonce nutnost (maji reseny emulator jako virtualku) ale bohuzel jsou H-V i vmWare virtualizace na ringu 0 a tudiz nejedou na jednom PC paralelne. Pro prepnuti je nutna zmena cfg a restart.coz je dost pakec. Navic je hyper-v klient docela smejd a vmwaru nesaha ani po kotniky.

Jinak krome zmineneho vmware (je placene) se da pouzit Virtual Box, ten je free ale nevim zda aktualni verze umi hostit aktualni MacOS (stare verze MacOSu urcite zvladal)

RadekV

28.12.2012 13:29:45 #

bullhead

...jen pár drobností pro někoho, kdo z VMWare Workstation ještě nedělal - používám jí již roky, nemám už nic na "čistém" železe kromě samotné VMWare (ty windows "na pozadí" jsou pro mne jen defakto hypervizor a časem určitě na nějaký přejdu):


1) Na úrovni VM hosta, Menu->Edit->Preferences
- v "Memory" vše dát do reálné paměti - první radio ("Fit all...")
...možná vůbec nejdůležitější nastavení


2) Na úrovni samotné VM mašiny, Menu->VM->Setting
- Všechny HDD jako "Independent" A "Persistent" a NEdávat "allocovat celý prostor" (to je sice rychlejší, ale při více mašinách na to není většinou místo) ...ano přijdete o snapshoty, ale je to viditelně rychlejší a místo snapshotů jednou za čas zhodit a celé odzálohovat
- V Advanced VYPNOUT (zašrtnout) "Disable memory page trimming"
- dát každé mašině všechny jádra co jsou k dispozici  (ať si zátěž rozděluje sám)


3) Pokud používáte více monitorů, často se nedaří nastavit správné rozlišení (sám mám 5760x1200), takže je nutné mu to "vnutit" = do xxx.vmx např. přidat:
svga.autodetect = "FALSE"
svga.maxWidth = 5760
svga.maxHeight = 1200
svga.vramSize = "134217728"
...pokud máte šifrované mašiny dát před šifrovanou část


4) Od verze 9 zmizel z tools shrink disků, takže je nutné jej spouštět jednou za čas z příkazové řádky - příklad pořadí commandů pro dva VM disky (= dát do baťáku):

"c:\program files\vmware\vmware tools\vmwaretoolboxcmd.exe" disk wipe d:\
"c:\program files\vmware\vmware tools\vmwaretoolboxcmd.exe" disk wipe c:\
"c:\program files\vmware\vmware tools\vmwaretoolboxcmd.exe" disk shrinkonly


5) Čím více máte RAM tím více si jich Windows alokují pro sebe - takže při mých 32 GB už pro VM povolilo jen 23 GB (nechápu) - rovněž se dá obejít nastavením, tentokrát v config.ini:
prefvmx.useRecommendedLockedMemSize = "FALSE"
prefvmx.minVmMemPct = "100"
prefvmx.allVMMemoryLimit = "30000"


B.

p.s. ...osobní zkušenost - Ram, Ram, Ram a zase Ram pokud chcete mít výkon na VM identický jako na reálném železe (windows 7, 8GB na mašinu a vypnout swap) - přechod z HDD 7200 otáček 16MB cache na SSD Vertex 4 512GB (= ten nejrychlejší) přinesl jen rychlejší start VM + vyšší "experience index" uvnitř VM, ale na reálné práci to moc vidět není

bullhead

28.12.2012 18:54:50 #

Leonell

Mně se tahle myšlenka moc líbí (mít vše na virtuálech) ale nějak se pořád k tomu nemůžu odhodlat.
Mám tam moc otázek, možná vyplývající z toho, že pořádně ani nevím, co ten VmWare všechno umí.
Je praktičtější mít zvlášť firemní administrativu v jednom VM a zvlášť vývojový virtuál (resp virtuály)? Nebo mít to všechno pohromadě ale pod VMWAREm? Jak to pak zálohovat, aniž bych denně kopíroval desítky gigabajtů kompletní VM? Nebo to zálohovat přímo z VM? Pak zase přijdu o výhodu jednoduchého vrácení celé VM. Co licence na OS? Sice tam můžu dát ty z MSDN, ale i ty jsou licenčně omezeny jenom na určité použití. Atd.... Není někde o tom nějaké pojednání? Díky.

Leonell

28.12.2012 19:35:39 #

bullhead

...to "Leonell" - já jsem z VM doslova nadšen - za mně zkušenosti:

1) VM
Základ (pro mne) jsou 3 VM:
- "moje"
...osobní outlook, office, fotky, osobní skype, icq, brouzdání, p..  eee brouzdání (:-)), díváni na filmy a ostatní osobní věci
- "develop"
...programátorské věci - nic se mi do nich neplete, IDE, DB, nástroje pro DB, tooly na help apod. Čistý stroj jen pro development
- "customer"
...když jsem u klienta mám věci pro něj JEN ve virtuálce pro něj - outlook/lotus apod, programy co pro něj používám apod.

Tohle jsou 3 VMka které mi jedou defakto 99 procent času (to poslední spouštím podle toho u koho jsem). Všechny jsou šifrované (výkonnostně je to stejné, jediný problém je, že zálohy/kopie NEjdou packovat, protože "prázdný" prostor je vyplněn "hash daty"). Občas zapínám ještě jednu VM, kde mám jen DB servery pro test připojení na "jiný stroj".


2. Zdílený disk
Na "základní" mašině mám TrueCrypt a v něm jeden disk z kontejneru a ten zdílím do všech VM - instalačky a věci co chci mít společné (když mi ukradou noťas k ničemu se nedostanou - pokud to není tedy v zájmu NSA nebo Mosadu:-)) - VM kryptované, zdílený disk mezi VM kryptovaný - jediná "nevýhoda"/vlastnost, po startu PC se musí zadat hesla do Truecrypu a do všech virtuálek.


3. Zálohy
Nezálohuji denně, to ne. Ale jednou za pár dnů odkopíruji z virtuálek disk D (na Cčku mám jen OS a programy) a celou virtuálku z oběma disky kopíruji +-jednou za měsíc (na zálohovaný NAS). Programy, co se nainstalovali nově/updatovali za ten měsíc od poslední zálohy Cčka to je jednoduché znovu nainstalovat a "práce" je na Dčku max pár dní stará - zráty by nebyly tak velké (dělal jsem testy na crashe, mám NTFS na VMDKčkách, pády OS, tvrdé restary apod, vše přežijí - neodchází ke ztrátám, nebo poškození VMDK). Také +- jednou za čas zálohuji main mašinu (jen disk C) pomocí TrueImage od Acronisu (ale tam se defakto nic neděje, max updaty Windows, VMWare + TrueCryptu párkrát za rok).

4. Licence
Ano to není "dořešeno":-). První licence Vist to ještě umožňovali - bylo direktně uvedeno, že se může instalovat na virtuální stroje na daném stroji. Pak to ostranili. Aktuální stav neznám (prostě aby jsi byl čistý musíš si dnes koupit licenci na všechny VM - nemyslím, že by to do licence vrátili).

B.

p.s. ...v mém okolí hodně lidí už na VM přešlo při přechodu na nové notebooky, než se "sr..t" z novou instalací všeho, na nový noťas dali jen VMWare a celé staré PC převedli pomocí nějakého oficiálního toolu od VMWare z reálného HW na VM stroj a ten jen pak nakopírovali na nový notebook (když jsem začínal, tohle ještě neměli nebo jsem o tom nevěděl, že to existuje)

bullhead

28.12.2012 21:22:41 #

Leonell

Bullhead: díky moc za informace.

Leonell

Komentování ukončeno

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců