Kuidas Reaktiivseid iOS-i rakendusi arendada Windowsis koos Hackintoshiga (noh, omamoodi)

Tere, keskmine! Nii et see on minu esimene lugu, kuid tahaksin kohe mängu saada.

Olen pettunud, et iOS-i React Native arendamiseks on vaja füüsilist Maci ja iPhone'i.

Ma mõtlen, et mul on MacBook ja iPhone, aga mul on neid. Ja ma pidin jagama repot oma MacBookiga, seejärel käivitama oma React Native Builderi ja React Native Packageri, mis on üsna paljusõnaline ja hale. Boo.

Lisaks tahan töötada tööjaamas, mul on Xeoni tööjaam ja see on kurb, et pidin oma klaviatuuri ja hiirega hüvasti jätma ning seeläbi ka tootlikkusega hüvasti jätma.

Isegi Xamarin pakkus iOS-i kauget simulaatorit ja versiooniagenti, et saaksime nautida arendamist oma põhiarvutis ja seejärel toetuda meie kaugel asuvasse Maci keskkonda. Ja ma kahtlen, et RN-i meeskonnal oleks imelihtne seda teha.

Nii pigistasin osa oma ajujõust ja tulin lõpuks välja lahendusest, mis on väga-väga veider, hull ja laisk. Ja siin on punktid, millest ma mõtlesin:

Hea 1: see töötab universaalselt kõigis x86_64 bitistes arvutites, kus virtualiseerimine on lubatud, kui olete neid samme selgelt järginud.

Hea 2: keskkonna saate hõlpsalt käidelda. Samuti saate keskkonna kloonida ja viia selle kuhugi mujale.

Halb 1: see lihtsalt töötab!

Halb 2: ma ei soovita teil käivitada muid Mac-programme peale XCode'i.

Halb 3: ärge eeldage, et AMD protsessorid töötavad sellest palju.

Ugly 1: selleks, et päris Macis saadaks vaid murdosa jõudlusest, on selleks vaja väga lihakat ja koledat arvutit.

Ugly 2: riistvaralist kiirendust pole, nii et ärge lootke OpenGL ES-i konteksti käivitada ja siluda sellega.

Kui olete päris mees, hankige Mac. Muidu avastame nüüd teekonna Hack-in-sh-sh!

(Hoiatus: Hackintoshi harjutamine on nii Apple'i tarkvara kui ka riistvara EULA rikkumine ning võite olla tasulised ja kohtuasjad, vaatamata sellele, et keegi pole viimase 10 aasta jooksul olnud, kuid ettevõte seda teeb, kuid me ei piirdu sellega kõike meie arvutiga, sealhulgas mitmesuguste opsüsteemide installimist, nii et võtke end kinni ja otsustage, kas soovite jätkata seadusliku halli tsooni astumist)

Eeltingimus

Nagu ma juba varem mainisin, vajate tegelikult väga tugevat ja võimsat arvutit! Mul on Xeoni tööjaam, kuid see töötab vaevalt hästi, kujutage ette, missugune õudusunenägu see oli, et see töntsakas oleks, eh?

Samuti vajate SSD-d, kui teil pole kannatlikkust oodata rohkem kui 5 minutit, et HDD-ga Mac VM-i pääseda.

Oota hetk! VM. Hmm… virtuaalne masin? Kas sa arvasid, et see pole nii? See on õige, selleks vajame VMWare'i.

1. samm: tõmmake Maci installipilt

Noh, ilma selleta ei saaks me midagi teha ...

Kui teil on mõni sõber, kellel on Mac, siis laenake tema masinat ...

Laadige macOS Sierra alla App Store'ist ...

Minge võrku ja leidke rituaal selle installipildi rippimiseks kaasaskantavasse DMG / ISO-vormingusse.

Ma ei avaldaks sellist meetodit, kuna ma ei taha mingeid probleeme tekitada ~ ¯ \ _ (ツ) _ / ¯

Viige viimane DMG / ISO-fail oma põhiarvutisse üle. Muidugi on meil seda vaja või kuidas me…

2. samm: laadige alla VMWare Player

Kui teil pole VMWare Workstationit, mida enamikul meist pole, peame VMWare Playeri alla laadima.

Lihtsalt installige see. Ei tohiks üldse probleeme olla.

3. samm: laadige alla Unlocker

Olgu, see on meie esimene häkk.

Põhimõtteliselt lukustas VMWare olulised suvandid, mis takistavad OSX-i ja EFI-i koos töötamist ja koostööd (kõvakettad, seeria-, SMB jne) kõigil VMWare hüpervisioonil, välja arvatud VMWare Fusion, asuvatel virtuaalse masina esinemisjuhtudel.

Nii et peame Hackintoshi tööleasumiseks selle lahti võtma, lappides paar asja.

Pärast failide allalaadimist, klõpsates käsul Klooni või lae alla, pakkige see lahti, leidke failid nimega "win-install.cmd" ja "win-update-tools.cmd".

Paremklõpsake nuppu „win-install.cmd” ja valige „Käita administraatorina”, sama kehtib ka „win-update-tools.cmd”. See on vajalik Windowsi registrile juurdepääsu saamiseks ja VMWare-teenuste peatamiseks, et plaastrit teha.

4. samm: looge uus virtuaalne masin

Avage VMWare Player ja valige kohe menüüst Loo uus virtuaalmasin.

Seejärel valige installimisketta kujutise fail, mille olete just enne üle kandnud.

Siis peame valima „Apple Mac OS X” ja valima sobiva versiooni. Näiteks siin kasutan ma macOS Sierrat, nii et see oli 'macOS 10.12', kui kasutate El Capitanit või Yosemite'i, siis hankige õige versioon.

Minge kõik need võimalused läbi. Ärge unustage oma VM-i konfigureerida, muutsin tuumade arvu, kuid enamasti oli see massi jaoks OK.

5. samm. Vmx-faili muutmine

Peame mööda minema VMWare'i kehtestatud piirangust, mida ma mainisin 3. sammus. Peame lisama sisestuse virtuaalse masina konfiguratsioonifaili. Või näete VM-i käivitamise ajal silmitsi põhiprotsendiga.

Kui te pole asukohta muutnud, asub see vaikimisi kaustas '~ / Dokumendid / Virtuaalne masin / /

Avage see ja lisage järgmine tekst faili lõppu:

smc.version = “0”

6. samm: käivitage mind

Whew, milline raske töö siin on. Nüüd on aeg installeerimine tööle panna.

♫ Kui mind alustate, ei lõpe ma kunagi ♫

Probleeme ei tohiks üldse olla. Te peaksite nägema väljamõeldud Apple'i logo.

(YMMV)

Ja keele valiku ekraan.

Keele valimise ekraan

Valige oma keel. Siis peame klõpsama Utiliidid-> Ketta utiliit. Vormindage virtuaalne ketas HFS-i.

Vaata selle kohta videot: https://puu.sh/w46Pj/a5a7f8ff5d.webm

Siis võiksime selle installida. Tavaliselt kulub selleks umbes 20 minutit. Pikaajalise ootamise ajal valmistage ja haarake endale tass kohvi ning oodake lõpuni. Pärast lõppu on kavandatud automaatne taaskäivitus ja näete tervitusekraani.

Vaata tegevust: https://puu.sh/w46Pw/519687fc0d.webm

7. samm: seadke mind üles

Tervituskuva

Lõpetage see nii nagu tavaliselt uue Maciga. Ärge lubage asukohateenust ja ärge veel sisse logige Apple ID-sse. Ärge saatke Apple'ile andmeid ega ka meie Hackintoshi seadistuse varjamise suurendamiseks.

Peame installima ka VMWare Tools. Lahutage oma OSX-i põhisüsteemi draiv leiutis. Seejärel klõpsake nuppu Player-> Halda-> Install VMWare Tools. Selle installimisega saavutate tohutu jõudluse, kuid see töötab meie silmis vaevalt.

Vaata seda: https://puu.sh/w4a2m/314480bc99.webm

Palju õnne! Teie käes on nüüd täielikult töötav Hackintoshi virtuaalmasin! Liigume nüüd arendaja sektsiooni ...

Me hakkame oma Hackintoshi poolel installima mõnda olulist tarkvara ...

Me vajame ...

Pruulima. Muidugi. For NodeJS ja NPM ning React Native.

Lõng, et kiirendada meie paketi installimise aega, kui te ei jaga seda nii nagu mina.

Xcode React Native Host kompileerimiseks.

1. samm: installige Xcode

Selle jaoks on vaja Apple ID-d, mitte arendajat, tavaline on hea.

Vaadake videoid:

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

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

Oodake, kuni see lõpeb. Kui see ei tohiks võtta liiga kaua, on teil olemas NAT-traadiga Interneti-ühendus. Kas soovite mängida Safari või mõnda muud rakendust? (Vaatamata jubedale esinemisele)

2. samm: installige õlle ja sõlme (ning lõng ja RN)

Käsu esiteks saamiseks klõpsake ülaltoodud linki.

Noh, see peaks olema lihtne. Arvestades, et olete installinud VMWare Tools, on lõikelaud vaikimisi kahesuunaline, nii et võite selle Windowsi poolel kopeerida ja Maci küljele visata.

Avage terminal ja kleepige Brew antud käsk. Installimise lubamiseks sisestage oma parool. Kõik on automatiseeritud ja peaks olema vähem kui 10 minutit.

Võtke seda näitena: https://puu.sh/w4atb/acbf000b84.webm

(Spotlighti otsingu avamiseks vajutage WinKey + Tühik, kleepimiseks vajutage WinKey + V)

Sõlme ja NPM installimine:

$ brew install nodejs

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

Lõnga paigaldamine:

$ pruulima lõnga

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

Installi RN:

$ npm -g installida reagect-native-cli

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

3. samm: asuge oma projekti kallale

Esialgu pole ma oma algset repo kopeerinud, kuid olen selle asemel loonud uue RN-projekti. Kui kolisite oma projektiga, on teil kõik ideaalselt üles seatud.

Teie projekti juhtimiseks on kaks võimalust; 1. meetod: minge oma projekti kausta, klõpsake ios, avage xcodeproj, klõpsake Xcode IDE-s käivitusnupul; 2. meetod: minge terminalis oma projekti kausta, sisestage „reageeri-natiivne käivitus-ios“ ja siis on asi tehtud.

Viimane samm: käivitage simulaator

Edu! See töötab suurepäraselt! Jah!

Võite proovida lubada uuesti laadimist, mõnda koodi muuta ja vaadata, kas see muutub.

Pärast seda peaks kõik toimima nagu võlu!

Hooray! (Pidage meeles, käsuklahv == Windowsi klahv)

Ma ei ole proovinud neid füüsilistes seadmetes käitada, kuid teoreetiliselt vajate lihtsalt USB-läbipääsu ja Xcode või iTunes peaksid teie seadmeid ära tundma.

Nii et rääkimata vahepealsest seaduspärasusest, arvan, et see Hackintosh on päris väljamõeldud häkk, et saada iOS-i arendamine Windowsis ilma ülehinnatud Mac Pro / MacBook Pro-d ostmata.

Mõni võib isegi installida tegeliku Hackintoshi jaotuse paljastesse metalldetailidesse, näiteks neisse ultraraamatutesse, Dell XPS 15 või ZenBooki, nii saab sama teha, kuid see on ohtlikum ja sa kaotasid oma Windowsi keskkonna (kui sul pole topeltkäivitus lubatud - Enamik meist ei tee seda).

Ootan huviga, kuidas RN-i meeskond annab välja uue tööriistakomplekti Mac / Windowsi versioonidele, et saada paremat arenduskogemust, kasutades samal ajal meie enda kõige mugavamaid tööriistu. Nad ütlevad, et see on huvitav idee ja ootab PR-i.

Ma kahtlen, kas see on minu vastus sellele. Igatahes tänan teid, et lugesite seda artiklit (nagu juhendaja). Muidugi on asi pisut lihtsam, kui teil on suuremeelsust oma ideed jagada, palun tehke seda kommentaaride osas, ootan huviga teie reaktsiooni. Ilusat päeva minu hakkidega!

(Redigeeritud 13/1)

Tervitused! Ma arvan, et selle kirjutamisest on juba tükk aega möödas. Nüüd olen avastanud Hackintoshi VM-is mobiilirakenduste arendamise kohta täiesti uue maailma. Tänu React Native'i hiljutisele edusammudele ning Expo ja ainult hostinimeste ühenduse ärakasutamisel võib meil olla veelgi magusam arenduskeskkond, et saaksite lõpuks oma IDE ja komplekteeritud serveri Windowsis hostida.

See alistab ülalmainitud juhendaja 3. toimingu. Tutvustan teile veel ühte trikki, kuidas muuta VM iOS-i arendamisse täielikult haaravaks.

Põhimõtteliselt on vaja ainult CRNA-d ja Expo / React Native'i uusimat versiooni (rääkides kirjutamise ajal 0,52-st), see selleks. Kui teil on CRNA alla laaditud olemasolev rakendus, võib see ka veatult töötada.

See on väga lihtne. (Ma eeldan, et kasutate lõnga, see peaks NPM-i puhul sarnane olema) Käivitage oma CRNA-pakkija Windowsis, kasutades PowerShelli või CMD:

Windows $ lõnga käivitamise algus
...
Rakenduse vaatamiseks reaalajas uuesti laadimisega osutage rakendusele Expo sellele QR-koodile.
QR-skanneri leiate rakenduse vahekaardilt Projektid.

Või sisestage see aadress Expo rakenduse otsinguribale:
exp: // : 19000
Teie telefon peab olema sama arvutivõrguga.
Expo rakenduse installimise linke leiate aadressilt https://expo.io.
Siin kuvatakse teie rakenduse teenindamise logid. Peatamiseks vajutage Ctrl + C igal ajal.
›Androidi seadme või emulaatori avamiseks vajutage a.
 ›Vajutage q, et kuvada QR-kood.
 ›Vajutage r, et taaskäivitada pakend, või R, et taaskäivitada pakend ja tühjendada vahemälu.
 ›Vajutage d, et lülitada arendusrežiimi. (praegune režiim: arendus)

See saab olema sadam, mida me kasutame.

Seejärel proovige leida oma hostiaadress. (Erinevatel masinatel on erinev IP, YMMV)

OSXVM $ ifconfig
...
en0: lipud = 8863 <ÜLES, LAIENUD, VÄIKESE, JUHTUV, SIMPLEX, MULTICAST> mtu 1500
suvandid = b 
eeter 00: 0c: 29: a1: d7: 8e
inet6 fe80 :: cfe: e149: 421e: 601a% en0 prefixlen 64 turvatud ulatus 0x4
inet 192.168.67.128 netmask 0xffffff00 saade 192.168.67.255
nd6 suvandid = 201 
meediumid: autoselect (1000baseT )
olek: aktiivne

Minu jaoks on see host aadress. Kuid peate viimase baiti ära viskama ja 1. lisa lisama.

Seega on hostin IP siin 192.168.67.1. Esmalt pange see tähele.

Seejärel aktiveerime Apple'i inseneride valmistatud salajase kastme.

Alates XCode 9-st, luues oma Mac HD juure lihtsa kataloogi, pääsete juurde iOS-i simulaatori sisemisele menüüle. Vanematel versioonidel pole seda funktsiooni AFAIK.

Sulgege esmalt kõik simulaatorid. Seejärel tippige see lihtsalt oma terminali.

OSXVM $ sudo mkdir / AppleInternal
(Teie parool)

See selleks! Nüüd kontrollige simulaatori käivitamisega, kas sisemine menüü on olemas ja otsige seda:

Tegelikult on see universaalne ka päris Macidele! Selle sisemise menüü kohta leiate teavet sellest keskmisest artiklist. Kuid me oleme rohkem keskendunud täisekraanirežiimile, mis on tegelikult põhjus, miks võite oma XCode koos simulaatoriga uude virtuaalsesse töölauale tuua:

Kui teil oli mõni lubadega seotud probleem, eriti High Sierra kasutajatel, peate selle kausta looma taasterežiimis. Klõpsake lihtsalt Utiliit ja terminal, kuid peate oma Main Mac HD ümber paigutama, see töötab ka välja.

Nüüd jätkame Expo kliendi installimist (ükskõik millisesse) simulaatori keskkonda.

See samm on väga triviaalne, seetõttu soovitan teil seda lugeda Expo ametlikust dokumendist:

Kui Expo rakendus on installitud, avage see simulaatoris.

Seejärel klõpsake nuppu Plus ja sisestage oma hostiaadress, kuid kõigepealt peame selle vormindama vastavalt sellele, mida expo võiks ära tunda:

Vorming on järgmine:

exp: // : 

Minu jaoks see on: “exp: //192.168.67.1: 19000”

Klõpsake nuppu Ava ja kui näete, et kimp on Windows Dev PC poolel ehitatav, siis KOKKUVÕTE, saate endale rakenduse simulaatori keskkonna. HMR pole aga sisse lülitatud, vaid on vaikimisi otseülekanne. Kui vajate, minge Riistvara-> Raputage žest ja muutke seda.

Viimane samm on aktiveerida täisekraanirežiim, et muuta see ümbritsevaks. Kui üksuse klõpsamine sisemenüüs peaks teie jaoks olema lihtne ja triviaalne, klõpsake lihtsalt rohelist täisekraani nuppu.

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

Ja see ongi kõik! Võite isegi Genymotioni tööd teha! See on tootlikkuse jaoks väga suur tõuge!

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

See on värskenduse lõpp. Loodan, et olete reisil õnnelik! Expo on tõepoolest võimas tööriist ja me peame seda hellitama. Sellist asja nagu tasuta lõunasöök pole olemas. Palun kaaluge annetusi Expo projektile. Nad on innukalt rahaga projekti ülalpidamiseks ja oma (ehitatava) serveri maksmiseks! (Kahjuks ei pakkunud nad selleks veel ühtegi meetodit)

Ja palun, Apple, ärge öelge, et teie advokaat võtaks minuga ühendust ja viiks mind juriidilistesse probleemidesse.