Kako razviti React Native Apps za iOS v operacijskem sistemu Windows s Hackintosh (no, nekako)

Pozdravljeni Srednja! Torej, to je moja prva zgodba, vendar bi rad stopil naravnost v igro.

Nekako sem frustriran, da potrebujem fizični Mac in iPhone, da naredim iOS React Native razvoj.

Mislim, imam MacBook in iPhone, imam ga. In moral sem deliti svoj repo na svoj MacBook, nato pa zagnati moj React Native Builder in React Native Packager, ki je svojevrsten dobeseden in hromen. Boo.

Poleg tega želim delati na delovni postaji, imam delovno postajo Xeon in žalostno je, da sem se moral posloviti od tipkovnice in miške in se zato posloviti od produktivnosti.

Tudi Xamarin je ponudil oddaljeni iOS Simulator in program za gradnjo, da smo lahko uživali v razvoju na svojem glavnem računalniku in nato potisnili gradnjo v oddaljeno okolje Mac. In dvomim, da bi ekipa RN z lahkoto prišla do tega.

Tako sem stisnil nekaj svoje možganske moči in končno izšel iz rešitve, ki je zelo, zelo čudaška, nora in lena. In tu so točke, o katerih sem pomislil:

Dobro 1: deluje na vseh računalnikih x86_64 z omogočeno virtualizacijo, če upoštevate natančne korake.

Dobra 2: Okolje lahko preprosto odložite. Okolje lahko tudi klonirate in ga premaknete kam drugam.

Slaba 1: Deluje, deluje!

Slaba 2: ne priporočam vam, da zaženete katere koli druge Mac programe zunaj XCode.

Slaba 3: Ne pričakujte, da bodo procesorji AMD za to preveč delovali.

Ugly 1: Za to potrebujete zelo osupljiv, pošastni računalnik, da dobite le delček zmogljivosti na pravem Macu.

Ugly 2: Brez pospeševanja strojne opreme, zato ne pričakujte, da boste z njim zagnali in odpravili kontekst OpenGL ES.

Če ste pravi moški, si priskrbite Mac. V nasprotnem primeru bomo odkrili pot v Hack-in-to-sh!

(Opozorilo: Prakticiranje Hackintosh je kršitev EULA tako programske opreme kot strojne opreme Apple, zato se boste lahko soočili z obtožbami in tožbami, kljub temu, da tega v zadnjih 10 letih ni nihče, ampak podjetje, vendar na to nismo omejeni. karkoli z našim računalnikom, vključno z nameščanjem različnih operacijskih sistemov, zato se okrepite in se odločite, ali želite še naprej korakati na zakonito sivo cono)

Predpogoj

Kot sem že omenil, dejansko potrebujete zelo močan in močan računalnik! Imam delovno postajo Xeon, ki pa komaj dobro teče, predstavljajte si, kakšna nočna mora je bila, da bi se ji mudilo, a?

Prav tako potrebujete trdi disk, razen če imate potrpljenje, da počakate več kot 5 minut, da se v svoj Mac VM vklopite s trdim diskom.

Počakaj minuto! VM. Hmm ... Navidezni stroj? Uganili ste, da ne? Tako je, za to bomo potrebovali VMWare.

1. korak: Pridobite namestitveno sliko Maca

No, brez tega ne bi mogli storiti ničesar ...

Če imate prijatelja, ki ima Mac, si izposodite njegov stroj ...

Prenesite macOS Sierra iz App Store…

Pojdite po spletu in poiščite ritual, kako to namestitveno sliko raztrgati v prenosni obliki DMG / ISO.

Takšne metode ne bi razkril, ker nočem imeti težav ~ ¯ \ _ (ツ) _ / ¯

Končno datoteko DMG / ISO prenesite v svoj glavni računalnik. Seveda ga bomo potrebovali, ali kako ...

2. korak: Prenesite VMWare Player

Če nimate VMWare Workstation, ki ga večina od nas nima, bomo morali nadaljevati s prenosom VMWare Playerja.

Samo namestite. Sploh ne bi smelo biti težav.

3. korak: Prenesite Unlocker

V redu, to je naš prvi kramp.

VMWare je v bistvu zaklenil bistvene možnosti, ki preprečujejo, da bi OSX in EFI skupaj tečeli (trdi kode, serijski, SMB itd.) Na vseh virtualnih računalniških napravah na vseh hipervizorjih VMWare, razen VMWare Fusion.

Zato ga bomo morali "odkleniti", tako da bomo prilepili nekaj stvari, da bo Hackintosh deloval.

Ko naložite datoteke s klikom na »Klon ali prenos«, razpakirajte jo, poiščite datoteke z imenom „win-install.cmd“ in „win-update-tools.cmd“.

Z desno miškino tipko kliknite »win-install.cmd« in izberite »Zaženi kot skrbnik«, isto velja za »win-update-tools.cmd«. To je potrebno za dostop do registra Windows in ustavitev storitev VMWare za izvajanje popravkov.

4. korak: Ustvarite nov navidezni stroj

Odprite predvajalnik VMWare in ravno v meniju izberite Ustvari nov navidezni stroj.

Nato izberite slikovno datoteko namestitvenega diska, ki ste jo pravkar prenesli.

Nato bomo morali izbrati »Apple Mac OS X« in izbrati ustrezno različico. Na primer, uporabljam macOS Sierra, tako da je bilo »macOS 10.12«, če uporabljate El Capitan ali Yosemite, dobite pravo različico.

Pojdi mimo vseh možnosti. Ne pozabite, da konfigurirate svoj VM, spremenil sem štetje jedra, večino časa pa je bilo v redu za maso.

5. korak: Modiranje datoteke .vmx

Morali bomo premagati omejitev, ki jo nalaga VMWare, ki sem jo omenil v koraku 3. Morali bomo dodati vnos v konfiguracijsko datoteko navideznega stroja. Ali pa se boste med zagonom VM-a soočili z jedro smeti.

Privzeto je nameščen v '~ / Documents / Virtual Machine / / .vmx', če niste spremenili lokacije.

Odprite ga in dodajte naslednje besedilo na samem koncu datoteke:

smc.version = "0"

6. korak: Začni me

Kaj je težko? Zdaj je čas, da namestitev deluje.

♫ Če me zaženete, se ne bom nikoli ustavil

Težav sploh ne bi smelo biti. Morali bi si ogledati domišljijski Apple logotip.

(YMMV)

In zaslon za izbiro jezika.

Zaslon za izbiro jezika

Izberite svoj jezik. Nato bomo morali klikniti Utilities-> Disk Utility. Navidezni disk formatirajte v HFS.

Oglejte si video o tem: https://puu.sh/w46Pj/a5a7f8ff5d.webm

Potem bi lahko nadaljevali z namestitvijo. Običajno je to potrebno približno 20 minut. Med dolgotrajnim čakanjem si pripravite in si privoščite skodelico kave in počakajte do konca. Po koncu je predviden samodejni ponovni zagon in prikazal se bo zaslon dobrodošlice.

Glej v akciji: https://puu.sh/w46Pw/519687fc0d.webm

7. korak: Nastavite me

Zaslon dobrodošlice

Končajte tako, kot običajno počnete z novim Macom. Ne omogočite lokacijske storitve in ne vstopajte v Apple ID še. Ne pošiljajte nobenih podatkov Apple-u, pa tudi za povečanje prikrivanja naše namestitve Hackintosh.

Namestiti bomo morali tudi VMWare Tools. Odklopite pogon OSX Base System v iskalniku. Nato kliknite Player-> Manage-> Install VMWare Tools. Z namestitvijo tega pridobite velik napredek v zmogljivosti, a še vedno komajda teče v naših očeh.

Glej to: https://puu.sh/w4a2m/314480bc99.webm

Čestitamo! Zdaj imate v roki popolnoma funkcionalen Hackintosh virtualni stroj! Zdaj bomo prešli na razdelek za razvijalce ...

Na naši Hackintosh strani bomo nastavili nekaj bistvene programske opreme ...

Potrebovali bomo ...

Brew. Seveda. Za NodeJS in NPM ter React Native.

Preja, da pospešite čas namestitve paketa, razen če ga ne delite tako kot jaz.

Xcode za sestavljanje React Native Host.

1. korak: Namestite Xcode

Za to potrebujete Apple ID, ne razvijalca, navaden je v redu.

Oglejte si videoposnetke:

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

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

Počakajte, da se konča. Če ne bi trajalo predolgo, imate NAT žični dostop do interneta. Bi radi predvajali Safari ali kakšno drugo aplikacijo? (Kljub groznemu delovanju)

2. korak: Namestite pivo in vozlišče (ter prejo in RN)

Kliknite na zgornjo povezavo, da prejmete ukaz.

No, to bi moralo biti enostavno. Glede na to, da ste namestili orodja VMWare, je odložišče privzeto dvosmerno, tako da ga lahko kopirate na stran Windows in ga izstavite na Mac.

Odprite terminal in prilepite ukaz, ki ga je dal Brew. Vnesite geslo, da dovolite namestitev. Vse bo avtomatizirano in mora biti v manj kot 10 minutah.

Vzemite to za primer: https://puu.sh/w4atb/acbf000b84.webm

(Pritisnite WinKey + presledek, če želite odpreti iskanje v središču, pritisnite WinKey + V, da prilepite)

Namestitev vozlišča in NPM:

$ brew namestite nodejs

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

Namestitev preje:

$ brew namestite prejo

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

Namestite RN:

$ npm -g namestite react-native-cli

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

3. korak: Pojdite na svoj projekt

Zaenkrat še nisem kopiral svojega originalnega repoja, ampak sem namesto tega ustvaril nov projekt RN. Če ste premaknili svoj projekt, imate vse postavljeno odlično.

Na voljo imate dva načina vodenja projekta; 1. način: pojdite v projektno mapo, kliknite ios, odprite xcodeproj, v Xcode IDE kliknite gumb za zagon; 2. način: Pojdite v projektno mapo v terminalu, vnesite 'react-native run-ios' in poof, to je storjeno.

Končni korak: Zaženite simulator

Uspeh! Poteka odlično! Juhu!

Lahko poskusite omogočiti vroče nalaganje, spremeniti neko kodo in videti, ali se spremeni.

Po tem naj bi vse delovalo kot čar!

Hooray! (Ne pozabite, ukazna tipka == tipka Windows)

Nisem jih poskušal zagnati na fizičnih napravah, ampak teoretično potrebujete samo USB prehod in Xcode ali iTunes bi morali prepoznati vaše naprave.

Kaj šele o zakonitosti vmes, mislim, da je ta Hackintosh precej fajn, da lahko v operacijskem sistemu Windows iOS razvijete iOS, ne da bi kupili precenjeno Mac Pro / MacBook Pro.

Nekateri lahko celo namestijo dejansko razdeljevanje Hackintosh v golo kovinsko strojno opremo, denimo v tiste ultraknjige, Dell XPS 15 ali ZenBook, na tak način je mogoče doseči isto, vendar je nevarnejše in izgubili ste okolje Windows (razen če imate omogočen dvojni zagon - Večina nas ne).

Veselim se predstavitve ekipe RN, ki bo izdala nov komplet orodij za Mac / Windows devs, da bi pridobila boljšo izkušnjo pri razvoju, medtem ko še vedno uporabljamo najbolj udobna orodja. Pravijo, da je zanimiva ideja in čakajo na PR.

Dvomim, da je to moj odgovor na to. Kakor koli, hvala za branje tega članka (bolj kot vadnica). Zagotovo bo nekako lažje, če imate radodarnost, da delite svojo idejo, prosimo, da to storite v razdelku za komentarje, veselim se vaše reakcije. Lep dan z mojimi hecami!

(Uredil 13/1)

Pozdravi! Predvidevam, da je minilo že dolgo, odkar sem to napisal. Zdaj sem odkril popolnoma nov svet glede razvoja mobilnih aplikacij v Hackintosh VM. Zahvaljujoč nedavnemu napredku React Native in izkoriščanju Expo in povezave samo za gostitelja imamo lahko še slajše razvojno okolje, tako da boste končno lahko izbrali IDE in strežniški paket za gostovanje v operacijskem sistemu Windows.

To bo prevladalo 3. korak v vadnici, ki sem jo omenil zgoraj. Prav tako vam bom predstavil še en trik, s katerim lahko VM v celoti potopim k razvoju iOS-a.

V bistvu potrebujete samo CRNA in najnovejšo različico Expo / React Native (govorimo o 0,52 v času pisanja), to je to. Če imate v CRNA že obstoječo zagonsko aplikacijo, lahko deluje tudi brezhibno.

Zelo preprosto je. (Predvidevam, da boste uporabljali Prejo, mora biti podobno za NPM) Zaženite CRNA pakiranje v operacijskem sistemu Windows z uporabo PowerShell ali CMD:

Začetek zagona preje Windows $
...
Če si želite ogledati aplikacijo s ponovnim nalaganjem v živo, pokažite aplikaciji Expo na to QR kodo.
QR skener najdete na zavihku Projekti v aplikaciji.

Ali vnesite ta naslov v iskalno vrstico aplikacije Expo:
exp: // : 19000
Vaš telefon mora biti v istem lokalnem omrežju kot ta računalnik.
Za povezave za namestitev aplikacije Expo obiščite https://expo.io.
Tu se bodo prikazali dnevniki za prikaz vaše aplikacije. Kadar koli se ustavite, pritisnite Ctrl + C.
›Pritisnite a, da odprete napravo ali emulator Android.
 ›Pritisnite q za prikaz QR kode.
 ›Pritisnite r za ponovno zagon pakiranja ali R za ponovni zagon pakiranja in brisanje predpomnilnika.
 ›Pritisnite d, da preklopite način razvoja. (trenutni način: razvoj)

To bo vrata, ki jih uporabljamo.

Nato poskusite najti naslov gostitelja. (Različni stroji imajo različne IP, YMMV)

OSXVM $ ifconfig
...
en0: zastave = 8863  mtu 1500
možnosti = b 
eter 00: 0c: 29: a1: d7: 8e
inet6 fe80 :: cfe: e149: 421e: 601a% en0 prefixlen 64 zavarovani obseg 0x4
inet 192.168.67.128 netmask 0xffffff00 oddaja 192.168.67.255
nd6 možnosti = 201 
predstavnost: samodejni izbor (1000baseT )
stanje: aktivno

Zame je to naslov gostitelja. Vendar morate zavreči zadnji bajt in dodati 1.

Torej IP gostitelja je 192.168.67.1. Najprej upoštevajte to.

Nato bomo aktivirali tajno omako, ki so jo naredili Apple inženirji.

Od XCode 9 lahko z ustvarjanjem preprostega imenika v korenu Mac Mac HD pridobite dostop do notranjega menija iOS Simulator. Starejše različice nimajo te funkcije AFAIK.

Najprej zaprite vse svoje simulatorje. Nato preprosto vnesite to v svoj terminal.

OSXVM $ sudo mkdir / AppleInternal
(Tvoje geslo)

To je to! Zdaj preverite, ali je notranji meni prisoten z zagonom simulatorja in poiščite to:

Pravzaprav je to univerzalno tudi za prave Mac-ove! Za informacije o notranjem meniju si oglejte ta medijski članek. Vendar smo bolj osredotočeni na celozaslonski način, kar je pravzaprav razlog, da lahko svoj XCode skupaj s simulatorjem pripeljete na novo virtualno namizje:

Če imate kakršno koli težavo z dovoljenjem, morate zlasti uporabnike High Sierre ustvariti to mapo v obnovitvenem načinu. Samo kliknite Utility in Terminal, vendar boste morali prestaviti svoj glavni Mac Mac HD, se bo tudi to izšlo.

Zdaj bomo nadaljevali z namestitvijo Expo odjemalca v (katero koli od) simulatorskih okolij.

Ta korak je zelo nepomemben, zato priporočam, da si to preberete iz uradnega dokumenta Expo:

Ko namestite aplikacijo Expo, jo odprite v Simulatorju.

Nato kliknite »Plus« in vnesite naslov gostitelja, najprej pa ga bomo morali formatirati na razstavni eksponat:

Oblika je:

exp: // : 

Torej zame je to: "exp: //192.168.67.1: 19000"

Kliknite odprto in če vidite, da je sveženj vgrajen na strani Windows Dev PC, nato pa ČESTITKE, si boste lahko ustvarili okolje simulatorja aplikacij. Vendar HMR ni privzeto vključen, vendar je Live Reload privzeto vključen. Če to potrebujete, pojdite na Hardware-> Shake Gest in ga spremenite.

Zadnji korak je, da aktivirate celozaslonski način, da postane bolj potopljiv. Če želite klikniti element v notranjem meniju enostavno in nepomembno za vas, potem preprosto kliknite zeleni gumb na celotnem zaslonu.

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

In to je to! Lahko imate celo Genymotion delo! To je zelo velik dvig produktivnosti!

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

To je konec posodobitve. Upam, da ste na poti srečni! Expo je res močno orodje in ga moramo negovati. Ni brezplačnega kosila. Prosimo, razmislite o donacijah za projekt Expo. Želijo denarja za vzdrževanje projekta in plačilo njihovega (gradbenega) strežnika! (Na žalost še niso ponudili metode za to)

Prosim, Apple, ne povejte svojemu odvetniku, naj me kontaktira in me spravlja v pravne težave.