Jak vyvinout React Native iOS Apps ve Windows s Hackintosh (no, druh)

Dobrý den, střední! Takže tohle je můj první příběh, ale rád bych se dostal přímo do hry.

Jsem docela frustrovaný, že jsem potřeboval fyzický Mac a iPhone, aby se iOS React Native vývoj.

Mám na mysli MacBook a iPhone, mám to. A já jsem musel sdílet své repo do svého MacBooku a pak spustit svůj React Native Builder a React Native Packager, což je docela podrobný a chromý. Vypískat.

Kromě toho chci pracovat na pracovní stanici, mám pracovní stanici Xeon a je smutné, že jsem se musel rozloučit s klávesnicí a myší, a tedy sbohem s produktivitou.

Dokonce i Xamarin nabídl vzdálený simulátor iOS a sestavovací agent, takže jsme si mohli užít vývoj na našem hlavním počítači a pak posunout sestavení do našeho vzdáleného prostředí Mac. A pochybuji, že by tým RN měl vítr, aby se to stalo.

Stiskl jsem tedy část své mozkové síly a nakonec vyšel z řešení, které je velmi, velmi šílené, šílené a líné. A tady jsou body, na které jsem myslel:

Dobrý 1: Funguje to všeobecně, na všech x86_64 bitových počítačích s povolenou virtualizací, protože jste postupovali jasně.

Dobrý 2: Prostředí můžete snadno zlikvidovat. Prostředí můžete také klonovat a přesunout někam jinam.

Špatná 1: To, jen, funguje!

Špatný 2: Nedoporučuji vám, abyste spustili jiné programy Mac mimo XCode.

Špatný 3: Neočekávejte, že by se procesory AMD příliš pohybovaly.

The Ugly 1: K tomu potřebujete velmi svalnatý, monstrózní počítač, abyste získali jen zlomek výkonu na skutečném počítači Mac.

Ugly 2: Žádná hardwarová akcelerace, proto neočekávejte, že s tím spouštíte a ladíte kontext OpenGL ES.

Jste-li skutečný muž, pořiďte si Mac. Jinak nyní objevíme cestu do Hack-in-to-sh!

(Varování: Procvičování programu Hackintosh je porušením smlouvy EULA softwaru Apple i hardwaru a vy můžete čelit poplatkům a soudním sporům, přestože v posledních 10 letech nikdo nebyl, ale společnost ano, ale my se nemusíme omezovat cokoli s naším počítačem, včetně instalace různých operačních systémů, takže se přidržte a rozhodněte se, zda chcete pokračovat v šlapání po legální šedé zóně)

Předpoklad

Jak jsem již zmínil, ve skutečnosti potřebujete velmi silný a výkonný počítač! Mám pracovní stanici Xeon, ale sotva běží dobře, představte si, jaká noční můra to byla, aby se to probudilo, že?

Také potřebujete SSD, pokud nemáte trpělivost čekat déle než 5 minut, abyste se dostali na váš Mac VM s HDD.

Počkej chvíli! VM. Hmm ... Virtuální stroj? Hádali jste, že ano? Správně, k tomu budeme potřebovat VMWare.

Krok 1: Načtěte instalační bitovou kopii Mac

Bez toho bychom nebyli schopni udělat nic ...

Pokud máte přítele, který má Mac, půjčte si jeho stroj ...

Stáhněte si MacOS Sierra z App Store…

Připojte se online a najděte si rituál pro ripování instalačního obrazu do přenosného formuláře DMG / ISO.

Takovou metodu bych nezveřejnil, protože nechci mít žádné potíže ~ ¯ \ _ (ツ) _ / ¯

Přeneste konečný soubor DMG / ISO do svého hlavního počítače. Samozřejmě to budeme potřebovat, nebo jak ...

Krok 2: Stáhněte si VMWare Player

Pokud nemáte VMWare Workstation, což většina z nás ne, pak budeme muset stáhnout VMWare Player.

Stačí nainstalovat. Neměly by to být vůbec žádné problémy.

Krok 3: Stáhněte Unlocker

Dobře, toto je náš první hack.

VMWare v podstatě uzamknul základní možnosti, které zabraňují běžet a spolupracovat OSX a EFI (pevný kód, sériový, SMB atd.) Běžící na všech instancích virtuálních strojů na všech hypervizorech VMWare kromě VMWare Fusion.

Budeme to muset „odemknout“ tím, že napravíme pár věcí, abychom mohli spustit Hackintosh.

Po stažení souborů kliknutím na „Klonovat nebo stáhnout“ jej rozbalte a vyhledejte soubory s názvem „win-install.cmd“ a „win-update-tools.cmd“.

Klikněte pravým tlačítkem myši na „win-install.cmd“ a vyberte „Spustit jako správce“, totéž platí pro „win-update-tools.cmd“. To je vyžadováno pro získání přístupu k registru Windows a zastavení služeb VMWare za účelem provádění oprav.

Krok 4: Vytvořte nový virtuální počítač

Otevřete přehrávač VMWare Player a přímo v nabídce vyberte možnost Vytvořit nový virtuální počítač.

Poté vyberte obrazový soubor instalačního disku, který jste právě přenesli.

Poté musíme vybrat „Apple Mac OS X“ a vybrat příslušnou verzi. Tady například používám MacOS Sierra, takže to bylo „macOS 10.12“, pokud používáte El Capitan nebo Yosemite, získejte správnou verzi.

Projděte všechny tyto možnosti. Nezapomeňte nakonfigurovat váš VM, změnil jsem základní počet, ale většinu času to bylo v pořádku.

Krok 5: Modifikace souboru .vmx

Budeme muset obejít omezení uložené programem VMWare, které jsem zmínil v kroku 3. Budeme muset přidat položku do konfiguračního souboru virtuálního počítače. Nebo budete při spuštění VM čelit základní výpisu.

Pokud jste místo nezměnili, je ve výchozím nastavení umístěno v adresáři ‘~ / Documents / Virtual Machine / / .vmx '.

Otevřete jej a přidejte následující text na samý konec souboru:

smc.version = „0“

Krok 6: Spusťte mě

Fajn, jak tvrdá práce tady. Nyní je čas uvést instalaci do provozu.

Problémy by neměly být vůbec. Měli byste vidět fantastické logo Apple.

(YMMV)

A obrazovka pro výběr jazyka.

Obrazovka výběru jazyka

Vyberte si vlastní jazyk. Potom musíme kliknout na Utilities-> Disk Utility. Naformátujte virtuální disk na HFS.

Podívejte se na video, jak to udělat: https://puu.sh/w46Pj/a5a7f8ff5d.webm

Pak bychom mohli pokračovat v instalaci. Obvykle to trvá asi 20 minut. Během dlouhotrvajícího čekání si připravte a uchopte šálek kávy a počkejte do konce. Po dokončení je naplánován automatický restart a uvidíte uvítací obrazovku.

Viz v akci: https://puu.sh/w46Pw/519687fc0d.webm

Krok 7: Nastavte mě

Uvítací obrazovka

Dokončete to jako obvykle u nového Macu. Nepovolujte lokalizační službu a přesto se do Apple ID přihlaste. Neposílejte do Apple žádná data ani zvyšujte utajování našeho nastavení Hackintosh.

Budeme muset také nainstalovat nástroje VMWare Tools. Odpojte jednotku OSX Base v hledáčku. Poté klikněte na Player-> Manage-> Install VMWare Tools. Instalací tohoto získáte obrovský nárůst výkonu, ale stále sotva běží v našich očích.

Viz toto: https://puu.sh/w4a2m/314480bc99.webm

Gratulujeme! Nyní máte v ruce plně funkční virtuální stroj Hackintosh! Nyní přejdeme do vývojářské sekce ...

Chystáme se nastavit nějaký základní software na naší straně Hackintosh ...

Budeme potřebovat ...

Vařit. Samozřejmě. Pro NodeJS a NPM a Native React.

Příze k urychlení doby instalace balíčku, pokud jej nepoužíváte sdílet jako já.

Xcode pro kompilaci React Native Host.

Krok 1: Nainstalujte Xcode

K tomu je vyžadován Apple ID, ne vývojářský, obyčejný je v pořádku.

Podívejte se na videa:

https://puu.sh/w4b8y/665e3fa868.webm

https://puu.sh/w4b8t/07ceee8b38.webm

Počkejte, až skončí. Nemělo by to trvat příliš dlouho, máte přístup k internetu pomocí kabelového připojení NAT. Chcete si zahrát Safari nebo nějaké jiné aplikace? (I přes hrozný výkon)

Krok 2: Nainstalujte Brew and Node (a Yarn and RN)

Kliknutím na výše uvedený odkaz získáte první příkaz.

Tohle by mělo být snadné. Vzhledem k tomu, že máte nainstalované nástroje VMWare Tools, je schránka ve výchozím nastavení obousměrná, takže ji můžete zkopírovat na stranu Windows a vypsat ji na stranu Mac.

Otevřete terminál a vložte příkaz vydaný Brewem. Chcete-li instalaci povolit, zadejte své heslo. Vše bude automatizované a mělo by být za méně než 10 minut.

Vezměme to jako příklad: https://puu.sh/w4atb/acbf000b84.webm

(Stisknutím klávesy WinKey + Space otevřete hledání Spotlight, stisknutím klávesy WinKey + V vložte)

Instalace uzlu a NPM:

$ brew install nodejs

https://puu.sh/w4aOv/f6b6e35234.webm

Instalace příze:

$ vařit instalaci příze

https://puu.sh/w4aOb/0eb124b1d5.webm

Nainstalujte RN:

$ npm -g instalovat reakčně-nativní-cli

https://puu.sh/w4aSC/5524d0705b.webm

Krok 3: Začněte s projektem

Prozatím jsem nekopíroval své původní repo, ale místo toho jsem vytvořil nový projekt RN. Pokud jste přesunuli svůj projekt, máte všechno nastaveno dokonale.

Máte dva způsoby vedení projektu; Metoda 1: Přejděte do složky projektu, klepněte na ios, otevřete xcodeproj, klepněte na tlačítko Spustit v Xcode IDE; Metoda 2: Přejděte do složky projektu v terminálu, zadejte „reakční-nativní run-ios“ a poof, hotovo.

Poslední krok: Spusťte simulátor

Úspěch! Funguje to perfektně! Yay!

Můžete zkusit povolit horké opětovné načtení, upravit nějaký kód a zjistit, zda se změní.

Poté by všechno mělo fungovat jako kouzlo!

Hurá! (Pamatujte, Command key == Windows key)

Nezkoušel jsem je spustit na fyzických zařízeních, ale teoreticky stačí USB passthrough a Xcode nebo iTunes by měla být schopna rozpoznat vaše zařízení.

Takže natož legálnost mezi tím, myslím, že tento Hackintosh je docela fantastický hack pro vývoj iOS ve Windows bez zakoupení předražené Mac Pro / MacBook Pro.

Někteří dokonce mohou nainstalovat skutečnou distribuci hackerů do holého kovového hardwaru, jako do těch ultrabooků, Dell XPS 15 nebo ZenBook, tímto způsobem lze dosáhnout stejné věci, ale je to nebezpečnější a ztratili jste prostředí Windows (pokud nemáte povoleno duální spouštění - Většina z nás ne).

Těším se, až uvidím tým RN vydat novou sadu nástrojů pro Mac / Windows devs, abych získal lepší vývojový zážitek a přitom používal nejpohodlnější vlastní nástroje. Říkají, že je to zajímavý nápad a čeká na PR.

Pochybuji, že to je moje odpověď na toto. Každopádně děkuji za přečtení tohoto článku (spíš jako tutoriál). Určitě to bude trochu jednodušší, pokud máte štědrost, že se s vámi podělíme o svůj nápad, udělejte to prosím v sekci komentářů, těším se na vaši reakci. Přeji hezký den s mými hacky!

(Upraveno 13/1)

Pozdravy! Myslím, že je to už dlouho, co jsem to psal. Nyní jsem objevil zcela nový svět týkající se vývoje mobilních aplikací v počítači Hackintosh VM. Díky nedávnému vývoji React Native a díky využití připojení Expo a host-only můžeme mít ještě sladší vývojové prostředí, takže si konečně budete moci vybrat hostování IDE a svazkového serveru ve Windows.

Tímto krokem přepíšete krok 3 v tutoriálu, který jsem zmínil výše. Představím vám ještě jeden trik, díky kterému bude VM plně ponořen do vývoje iOS.

V podstatě potřebujete pouze CRNA a nejnovější verzi Expo / React Native (v době psaní 0,52), to je vše. Pokud máte existující aplikaci spouštěnou pod CRNA, může to také fungovat bezchybně.

Je to velmi jednoduché. (Předpokládám, že použijete přízi, měla by být podobná pro NPM) Spusťte svůj CRNA packager ve Windows pomocí PowerShell nebo CMD:

Začátek příze Windows $
...
Chcete-li zobrazit svou aplikaci s přímým načtením, nasměrujte aplikaci Expo na tento QR kód.
Skener QR najdete na kartě Projekty aplikace.

Nebo zadejte tuto adresu do vyhledávací lišty aplikace Expo:
exp: // : 19000
Váš telefon bude muset být ve stejné místní síti jako tento počítač.
Odkazy na instalaci aplikace Expo naleznete na adrese https://expo.io.
Zde se zobrazí protokoly ze zobrazení aplikace. Stisknutím Ctrl + C kdykoli zastavíte.
›Stisknutím a otevřete zařízení nebo emulátor systému Android.
 ›Stisknutím q zobrazíte QR kód.
 ›Stisknutím r restartujte balič, nebo R restartujte balič a vymažte mezipaměť.
 ›Stisknutím tlačítka d přepnete režim vývoje. (aktuální režim: vývoj)

Toto bude port, který používáme.

Potom zkuste najít adresu hostitele. (Různé stroje mají různé IP, YMMV)

OSXVM $ ifconfig
...
en0: flags = 8863  mtu 1500
options = b 
ether 00: 0c: 29: al: d7: 8e
inet6 fe80 :: cfe: e149: 421e: 601a% en0 prefixlen 64 zabezpečený rozsah 0x4
inet 192.168.67.128 netmask 0xffffff00 vysílán 192.168.67.255
nd6 options = 201 
media: autoselect (1000baseT )
stav: aktivní

Pro mě je to adresa hostitele. Musíte však zahodit poslední bajt a připojit 1.

Hostitelská IP je tedy 192.168.67.1. Nejprve si to poznamenejte.

Poté aktivujeme tajnou omáčku vytvořenou inženýry Apple.

Počínaje XCode 9, vytvořením jednoduchého adresáře v kořenovém adresáři vašeho Mac HD, získáte přístup do interní nabídky simulátoru iOS. Starší verze tuto funkci nemají AFAIK.

Nejprve zavřete všechny své simulátory. Pak to jednoduše zadejte do svého terminálu.

OSXVM $ sudo mkdir / AppleInternal
(Vaše heslo)

A je to! Nyní zkontrolujte spuštěním simulátoru, zda je k dispozici interní nabídka, a podívejte se na toto:

Ve skutečnosti je to univerzální i pro skutečné Mac! Informace o této interní nabídce najdete v tomto článku pro média. Ale více se zaměřujeme na režim celé obrazovky, což je vlastně důvod, proč byste mohli přenést svůj XCode spolu se simulátorem na novou virtuální plochu:

Pokud jste narazili na některý z problémů s povolením, zejména u uživatelů High Sierra, budete muset tuto složku vytvořit v režimu obnovy. Stačí kliknout na Utility and Terminal, ale budete muset přemístit hlavní Mac HD HD, bude to také fungovat.

Nyní přistoupíme k instalaci klienta Expo do (některého z) prostředí simulátoru.

Tento krok je velmi triviální, proto vám raději přečtěte tento dokument z oficiálního dokumentu Expo:

Jakmile máte nainstalovanou aplikaci Expo, otevřete ji v Simulátoru.

Poté klikněte na „Plus“ a zadejte svou hostitelskou adresu, nejdřív ji však musíme naformátovat na to, co expo dokáže rozpoznat:

Formát je:

exp: // : 

Takže pro mě to znamená: „exp: //192.168.67.1: 19000“

Klikněte na tlačítko Otevřít a pokud uvidíte sestavení balíčku na straně počítače se systémem Windows Dev PC, pak KONGRATULACE, budete si moci vytvořit prostředí simulátoru aplikací. HMR však ve výchozím nastavení není zapnuto, ale je naživo obnoveno. Pokud to potřebujete, přejděte na Hardware-> Shake Gesture a změňte jej.

Posledním krokem je aktivace režimu celé obrazovky, aby byl ponořen. Pokud je kliknutí na položku v interní nabídce pro vás snadné a triviální, stačí kliknout na zelené tlačítko na celou obrazovku.

https://giant.gfycat.com/AncientPepperyAdamsstaghornedbeetle.mp4

A to je vše! Můžete dokonce nechat Genymotion pracovat společně! To je velmi velký nárůst produktivity!

https://giant.gfycat.com/EnergeticUltimateAntlion.mp4

To je konec aktualizace. Doufám, že jste na cestě šťastní! Expo je opravdu mocný nástroj a musíme si ho vážit. Neexistuje nic takového jako oběd zdarma. Zvažte prosím dary na projekt Expo. Dychtí po penězích, aby udrželi projekt a zaplatili svůj (build) server! (Bohužel nenabízeli žádný způsob, jak toho dosáhnout)

A prosím, Apple, neříkej svému právníkovi, aby mě kontaktoval a přiměl mě k právním potížím.