Kako razviti React Native iOS aplikacije u sustavu Windows s Hackintoshom (dobro, vrsta)

Pozdrav Medium! Ovo je moja prva priča, ali volio bih izravno ući u igru.

Nekako sam frustriran što mi je potreban fizički Mac i iPhone da bih napravio iOS React Native razvoj.

Mislim, imam MacBook i iPhone, imam ga. I morao sam dijeliti svoj repo na svoj MacBook, a zatim pokrenuti svoj React Native Builder i React Native Packager, koji je svojevrsni višestruki i jadan. Boo.

Osim toga, želim raditi u radnoj stanici, imam Xeon radnu stanicu i žalosno je što sam se morao oprostiti od tipkovnice i miša, a time i zbogom od produktivnosti.

Čak je i Xamarin ponudio daljinski iOS Simulator i agent za izradu kako bismo mogli uživati ​​u razvoju na našem glavnom računalu, a zatim gurnuti nadogradnju na udaljenom Mac računalu. I sumnjam da će RN tim imati povjetaca da se to dogodi.

Tako sam stisnuo dio svoje snage mozga i napokon izašao iz rješenja, koje je vrlo, vrlo otkačeno, ludo i lijeno. I evo nekih stvari o kojima sam razmišljao:

Dobro 1: To funkcionira univerzalno, na bilo kojim x86_64 bitnim osobnim računalima s omogućenom virtualizacijom, jer ste jasno slijedili korake.

Dobra 2: Okoliš možete lako raspolagati. Također možete klonirati okoliš i premjestiti ga negdje drugdje.

Loš 1: To, samo, djeluje!

Loša 2: Ne preporučujem vam pokretanje bilo kojeg drugog Mac programa izvan XCode.

Loše 3: ne očekujte da će AMD procesori mnogo pokrenuti preko ovoga.

Ugly 1: za to vam je potrebno vrlo zanosno, monstruozno računalo da biste postigli samo djelić performansi na stvarnom Macu.

Ugly 2: Nema hardverskog ubrzanja, pa nemojte očekivati ​​da ćete pokrenuti i ukloniti program OpenGL ES kontekstom.

Ako ste pravi muškarac, nabavite Mac. Inače ćemo sada otkriti putovanje u Hack-in-to-sh!

(Upozorenje: Prakticiranje Hackintosh-a krši EULA i Apple-ovog softvera i hardvera. Možete se suočiti s optužbama i tužbama, unatoč činjenici da nitko nije u posljednjih 10 godina, ali tvrtka nije, ali mi na to nismo ograničeni. bilo što s našim računalom, uključujući instaliranje različitih operativnih sustava, pa se pripremite i odlučite želite li nastaviti zakonski sivu zonu)

Preduvjet

Kao što sam već napomenuo, zapravo vam treba jako i moćno računalo! Imam Xeon radnu stanicu, ali ona jedva teče dobro, zamislite kakvu je noćnu moru stvorio užurbano, a?

Također vam treba i SSD, osim ako nemate strpljenja čekati više od 5 minuta da uđete u Mac VM sa svojim HDD-om.

Pričekaj minutu! VM. Hmm ... Virtualni stroj? Pogodili ste da nije? Tako je, za ovo će nam trebati VMWare.

Korak 1: Dohvatite instalacijsku sliku Maca

Pa, bez toga ne bismo mogli ništa učiniti ...

Ako imate prijatelja koji ima Mac, posudite njegovu ili njezinu mašinu ...

Preuzmite macOS Sierra iz App Store-a…

Idite na mrežu i pronađite ritual za uklanjanje te instalacijske slike u prijenosni DMG / ISO oblik.

Ne bih otkrio takvu metodu, jer ne želim imati problema ~ ¯ \ _ (ツ) _ / ¯

Prenesite konačnu DMG / ISO datoteku na svoje glavno računalo. Naravno da će nam trebati ili kako ...

2. korak: Preuzmite VMWare Player

Ako nemate VMWare Workstation, koji većina nas nema, morat ćemo nastaviti s preuzimanjem VMWare Player-a.

Samo ga instalirajte. Ne bi trebalo biti nikakvih problema.

Korak 3: Preuzmite Unlocker

U redu, ovo je naš prvi napad.

U osnovi, VMWare je zaključao osnovne mogućnosti koje sprečavaju da se OSX i EFI pokreću i surađuju (tvrdi kod, serijski, SMB itd.) Na bilo kojem instanci virtualnog računala na svim VMWare hipervizorima, ali VMWare Fusion.

Stoga ćemo ga morati "otključati" zakrpanjem nekoliko stvari kako bi Hackintosh radio.

Nakon preuzimanja datoteka klikom na "Kloniraj ili preuzmi", otpakujte je, pronađite datoteke pod nazivom "win-install.cmd" i "win-update-tools.cmd".

Desnim klikom kliknite 'win-install.cmd' i odaberite 'Pokreni kao administrator', isto vrijedi i za 'win-update-tools.cmd'. Ovo je potrebno za pristup Windows Registru i zaustavljanje VMWare usluga radi izvođenja zakrpa.

Korak 4: Stvorite novi virtualni stroj

Otvorite VMWare Player i upravo u izborniku odaberite Create New Virtual Machine.

Zatim odaberite slikovnu datoteku instalacijskog diska koju ste upravo prenijeli.

Tada ćemo morati odabrati "Apple Mac OS X" i odabrati odgovarajuću verziju. Evo, na primjer, koristim macOS Sierra, tako da je bio 'macOS 10.12', ako koristite El Capitan ili Yosemite, nabavite pravu verziju.

Pređite sve te mogućnosti. Ne zaboravite konfigurirati svoj VM, promijenio sam broj jezgra, ali većinu vremena to je bilo u redu za masu.

Korak 5: Modiranje .vmx datoteke

Morat ćemo zaobići ograničenje koje je nametnuo VMWare koji sam spomenuo u koraku 3. Morat ćemo dodati unos u datoteku konfiguracije virtualnog računala. Ili ćete se suočiti s deponom jezgre tijekom lansiranja VM-a.

Prema zadanim postavkama nalazi se na '~ / Documents / Virtual Machine / / .vmx' ako niste promijenili lokaciju.

Otvorite ga i dodajte sljedeći tekst na samom kraju datoteke:

smc.version = "0"

Korak 6: Pokrenite me

Što je naporan posao ovdje. Sada je vrijeme da instalacija radi.

♫ Ako me pokrenete nikad neću prestati ♫

Uopće ne bi trebalo biti problema. Trebali biste moći vidjeti otmjeni Appleov logo.

(YMMV)

I zaslon za odabir jezika.

Zaslon za odabir jezika

Odaberite vlastiti jezik. Tada ćemo morati kliknuti Utilities-> Disk Utility. Formatirajte virtualni disk u HFS.

Pogledajte videozapis o tome: https://puu.sh/w46Pj/a5a7f8ff5d.webm

Tada bismo mogli nastaviti s njegovom instalacijom. Obično je potrebno oko 20 minuta. Tijekom dugotrajnog čekanja, pripremite si i uzmite šalicu kave i pričekajte do kraja. Nakon završetka zakazano je automatsko ponovno pokretanje i vidjet ćete zaslon dobrodošlice.

Pogledajte u akciji: https://puu.sh/w46Pw/519687fc0d.webm

7. korak: Postavite me

Zaslon dobrodošlice

Završite je kao i obično s novim Macom. Ne omogućite uslugu lokacije i nemojte još ulaziti u Apple ID. Nemojte slati podatke Appleu niti povećati prikrivanje našeg postava Hackintosh.

Morat ćemo instalirati i VMWare Alate. Isključite pogon OSX Base sustava u tražilici. Zatim kliknite Player-> Manage-> Install VMWare Tools. Instaliranjem ovoga postižete ogromno poboljšanje performansi, ali još uvijek nam jedva ide u oči.

Pogledajte ovo: https://puu.sh/w4a2m/314480bc99.webm

Čestitamo! Sada imate u potpunosti funkcionalan Hackintosh virtualni stroj! Sada ćemo se prebaciti na odjeljak za razvojne programere ...

Namjeravat ćemo postavljanje nekog osnovnog softvera na našoj Hackintosh strani ...

Trebat će nam ...

Zakuhati. Naravno. Za NodeJS i NPM te React Native.

Pređa za ubrzavanje vremena instaliranja našeg paketa, osim ako ga ne upotrebljavate kao i ja.

Xcode za sastavljanje React Native Host.

1. korak: instalirajte Xcode

Za to vam je potreban Apple ID, ne programer, ne uobičajeni.

Pogledajte videozapise:

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

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

Pričekajte dok se ne završi. Ne bi trebalo predugo, imate NAT ožičeni pristup internetu. Želite li igrati Safari ili neku drugu aplikaciju? (Unatoč stravičnoj izvedbi)

2. korak: instalirajte pivo i čvor (i pređu i RN)

Kliknite gornju vezu kako biste prvo dobili naredbu.

Pa, ovo bi trebalo biti lako. S obzirom na to da ste instalirali VMWare Tools, međuspremnik je prema zadanim postavkama dvosmjerni, tako da ga možete kopirati na svoju Windows platformu i izbaciti na Mac stranicu.

Otvorite terminal i zalijepite naredbu koju je dao Brew. Unesite lozinku kako biste omogućili instalaciju. Sve će biti automatizirano i trebalo bi biti manje od 10 minuta.

Uzmite ovo kao primjer: https://puu.sh/w4atb/acbf000b84.webm

(Pritisnite WinKey + razmak za otvaranje pretraživanja reflektora. Pritisnite WinKey + V da biste zalijepili)

Instaliranje čvora i NPM-a:

$ brew install nodejs

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

Ugradnja preje:

$ brew ugraditi predivu

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

Instalirajte RN:

$ npm -g instalirajte react-native-cli

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

3. korak: krenite na svoj projekt

Za sada nisam kopirao izvorni repo, već sam stvorio novi RN projekt. Ako ste preselili svoj projekt, sve je savršeno postavljeno.

Imate dva načina vođenja projekta; 1. metoda: idite u mapu projekta, kliknite ios, otvorite xcodeproj, kliknite gumb za pokretanje u Xcode IDE; Druga metoda: Idite u direktoriju projekta u terminalu, unesite "reagirajući izvorni pogon" i poof, to je već učinjeno.

Završni korak: Pokrenite simulator

Uspjeh! Ide savršeno! Yay!

Možete pokušati omogućiti vruće ponovno punjenje, izmijeniti neki kôd i vidjeti mijenja li se.

Nakon toga sve bi trebalo raditi kao šarm!

Hura! (Ne zaboravite, tipka Command == tipka Windows)

Nisam ih pokušao pokrenuti na fizičkim uređajima, ali u teoriji vam treba samo USB prolazak, a Xcode ili iTunes trebali bi moći prepoznati vaše uređaje.

A kamoli o zakonitosti između, mislim da je ovaj Hackintosh priličan hack za razvoj iOS-a u sustavu Windows bez kupnje precijenjenog Mac Pro / MacBook Pro-a.

Neki čak mogu instalirati stvarnu Hackintosh distrubuciju u goli metalni hardver, poput onih ultrabooks, Dell XPS 15 ili ZenBook, na isti način može se postići ista stvar, ali opasnije je i izgubili ste Windows okruženje (osim ako imate omogućeno dvostruko pokretanje - Većina nas ne).

Radujem se što ću vidjeti RN tim izdaje novi alat za Mac / Windows devs kako bi stekao bolje razvojno iskustvo dok i dalje koristimo najudobnije naše alate. Kažu da je to zanimljiva ideja i da čekaju PR.

Sumnjam da je to moj odgovor na to. U svakom slučaju, hvala vam na čitanju ovog članka (više kao udžbenik). Sigurno će biti lakše, ako imate velikodušnost za dijeljenje svoje ideje, molim vas učinite to u odjeljku za komentare, radujem se vašoj reakciji. Ugodan dan uz moje hakove!

(Uredio 13/1)

Pozdrav! Valjda je prošlo dosta vremena otkad sam ovo napisao. Otkrio sam posve novi svijet u vezi s razvojem mobilnih aplikacija u Hackintosh VM-u. Zahvaljujući nedavnom napretku React Native i iskorištavanjem Expo-a i veze samo za domaćina, možemo imati još slađe razvojno okruženje, tako da konačno možete imati svoj izbor IDE-a i poslužitelja paketa koji se nalaze u sustavu Windows.

Ovo će prevladati korak 3 u gore spomenutom udžbeniku. Uvest ću vam i još jedan trik kako VM u potpunosti uroniti u razvoj iOS-a.

U osnovi, trebate samo CRNA i najnoviju verziju Expo / React Native (govoreći o 0,52 u vrijeme pisanja), to je to. Ako imate postojeću aplikaciju za pokretanje sustava pod CRNA, mogla bi funkcionirati i besprijekorno.

Vrlo je jednostavno. (Pretpostavljam da ćete koristiti Pređa, trebala bi biti slična za NPM) Pokrenite CRNA pakiranje u sustavu Windows, koristeći PowerShell ili CMD:

Pokretanje Windows $ pređe
...
Da biste pogledali svoju aplikaciju s automatskim ponovnim učitavanjem, pokažite Expo aplikaciji na ovaj QR kod.
QR skener naći ćete na kartici Projekti u aplikaciji.

Ili unesite ovu adresu u traku za pretraživanje aplikacije Expo:
exp: // : 19000
Vaš će telefon morati biti na istoj lokalnoj mreži kao i ovo računalo.
Za veze za instaliranje Expo aplikacije, posjetite https://expo.io.
Ovdje će se pojaviti dnevnici za posluživanje vaše aplikacije. Pritisnite Ctrl + C u bilo kojem trenutku da biste zaustavili.
›Pritisnite a za otvaranje Android uređaja ili emulatora.
 ›Pritisnite q za prikaz QR koda.
 ›Pritisnite r za ponovno pokretanje pakera ili R za ponovno pokretanje pakera i brisanje predmemorije.
 ›Pritisnite d za prebacivanje načina razvoja. (trenutni način: razvoj)

Ovo će biti port koji koristimo.

Zatim pokušajte pronaći adresu domaćina. (Različiti strojevi imaju različit IP, YMMV)

OSXVM $ ifconfig
...
hr0: zastave = 8863  mtu 1500
options = b 
eter 00: 0c: 29: a1: d7: 8e
inet6 fe80 :: cfe: e149: 421e: 601a% en0 prefixlen 64 osigurani opseg 0x4
inet 192.168.67.128 netmask 0xffffff00 emitiran 192.168.67.255
nd6 opcije = 201 
mediji: automatski odabir (1000baseT )
status: aktivan

Za mene je ovo adresa domaćina. Ali morate odbaciti zadnji bajt i dodati 1.

Dakle, IP adresa domaćina je 192.168.67.1. Prvo zabilježite to.

Zatim ćemo aktivirati tajni umak koji su napravili Appleovi inženjeri.

Počevši od XCode 9 kreiranjem jednostavnog direktorija u korijenu vašeg Mac HD-a možete dobiti pristup internom izborniku iOS Simulatora. Starije verzije nemaju tu značajku AFAIK.

Prvo zatvorite sve svoje simulatore. Tada je jednostavno upišite u svoj terminal.

OSXVM $ sudo mkdir / AppleInternal
(Tvoja lozinka)

To je to! Sada provjerite postoji li interni izbornik pokretanjem simulatora i potražite ovo:

Zapravo, ovo je univerzalno i za stvarne Macu! Za informacije o ovom internom izborniku pogledajte ovaj medijski članak. Ali više smo usredotočeni na način preko cijelog zaslona, ​​što je zapravo i razlog zbog kojeg biste svoj XCode mogli zajedno sa simulatorom dovesti na novu virtualnu radnu površinu:

Ako ste imali bilo koji problem s dozvolom, dobro, posebno korisnici visoke Sierre, morat ćete stvoriti ovu mapu u načinu oporavka. Samo kliknite Utility i Terminal, ali morat ćete premjestiti svoj glavni Mac Mac HD, i to će se dogoditi.

Sada ćemo nastaviti s instaliranjem Expo klijenta (u bilo kojem od) okruženja simulatora.

Ovaj je korak vrlo trnovit, pa vam preporučujem da ovo pročitate iz službenog dokumenta Expo-a:

Nakon što instalirate Expo aplikaciju, otvorite je u Simulatoru.

Zatim kliknite "Plus" i utipkajte adresu svog domaćina, ali prvo ćemo je morati formatirati u expo:

Format je:

exp: // : 

Dakle za mene je to: „exp: //192.168.67.1: 19000“

Kliknite otvoreno i ako vidite da se paket ugrađuje u Windows Windows Dev PC, zatim ČESTITKE, moći ćete si nabaviti okruženje simulatora aplikacije. Međutim, HMR nije uključen, ali je Live Reload prema zadanim postavkama. Ako vam treba, idite na Hardware-> Shake Gest i promijenite ga.

Posljednji korak je aktiviranje načina preko cijelog zaslona kako bi se učinilo uranjanjem. Ako je klik na neku stavku u unutarnjem izborniku za vas jednostavan i trivijalni, jednostavno kliknite zeleni gumb cijelog zaslona.

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

I to je to! Možete čak imati i Genymotion rad! Ovo je vrlo veliko povećanje produktivnosti!

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

To je kraj ažuriranja. Nadam se da ste sretni u putovanju! Expo je doista moćan alat i to trebamo njegovati. Nema toga besplatnog ručka. Razmotrite donacije za projekt Expo. Oni su željni novca za održavanje projekta i plaćanje njihovog (graditi) poslužitelja! (Nažalost, još nisu ponudili metodu za to)

I molim vas, Apple, nemojte reći svom odvjetniku da me kontaktira i upusti me u pravne probleme.