Windows-da Hackintosh yordamida Reaktiv iOS dasturlarini qanday ishlab chiqish (yaxshi)

Salom O'rta! Shunday qilib, bu mening birinchi hikoyam, lekin men to'g'ridan-to'g'ri o'yinga kirishni xohlayman.

Menga Mac Mac va iPhone-ni iOS React Native-ni ishlab chiqishini talab qilishdan asabiylashdim.

Aytmoqchimanki, menda MacBook va iPhone bor, menda ham bor. Repo-ni MacBook-ga ulashishim kerak edi, keyin esa React Native Builder va React Native Packager-ni ishga tushirdim. Boo.

Bundan tashqari, men ish stantsiyasida ishlashni istayman, men Xeon ish stantsiyam bor va klaviatura va sichqoncha bilan vidolashishim kerakligi achinarli, shuning uchun unumdorlik bilan xayrlashdim.

Xamarin hatto asosiy kompyuterimizda rivojlanishdan zavq olishimiz uchun va uzoq masofadagi Mac atrof-muhitimizni yaratishni yoqtiradigan masofaviy iOS Simulyatori va agentini taklif qildi. Va men RN jamoasi buni amalga oshirish uchun shabada bo'lishiga shubha qilaman.

Shunday qilib, miyamning bir qismini siqib chiqdim va nihoyat juda ahmoq, aqldan ozgan va dangasa bo'lgan echimdan chiqdim. Mana men o'ylagan fikrlar:

Yaxshi 1: Agar qadamlarni aniq bajargan bo'lsangiz, u virtualizatsiya yoqilgan har qanday x86_64 bitli shaxsiy kompyuterlarda universal ishlaydi.

Yaxshi 2: Atrof-muhitni osonlikcha yo'q qilishingiz mumkin. Siz shuningdek atrof-muhitni klonlashingiz va boshqa joyga ko'chirishingiz mumkin.

Yomon 1: u, shunchaki, ishlaydi!

Yomon 2: XCode-dan boshqa Mac dasturlarini ishlatishingizni maslahat bermayman.

Yomon 3: AMD protsessorlari bu bilan ko'p ishlashini kutmang.

Ugly 1: sizga haqiqiy Mac kompyuterida ishlashning ozgina qismini olish uchun sizga juda badjahl, vahshiy kompyuter kerak.

Ugly 2: Uskuna tezlashishi yo'q, shuning uchun OpenGL ES kontekstini ishga tushirib disk raskadrovka qilishni kutmang.

Agar siz haqiqiy erkak bo'lsangiz, Mac kompyuterini oling. Aks holda, endi Hack-in-sh-ga sayohat qilamiz!

(Ogohlantirish: Hackintosh-dan foydalanish - bu ikkala Apple dasturiy ta'minotining ham, apparatining ham EULA qoidalarining buzilishi. Siz oxirgi 10 yil ichida hech kim bo'lmaganiga qaramay, kompaniya ayblovlarga va da'volarga duch kelishingiz mumkin, ammo biz bu bilan cheklanmaymiz. bizning kompyuterimiz bilan har qanday narsa, shu jumladan turli xil operatsion tizimlarni o'rnatish, shuning uchun o'zingizni bog'lang va qonuniy kulrang zonada davom etishni xohlaysizmi, qaror qiling).

Talab

Yuqorida aytib o'tganimdek, sizga juda kuchli va kuchli kompyuter kerak! Menda Xeon ish stantsiyasi bor, lekin u zo'rg'a ishlaydi, tasavvur qiling-a, qanday shovqin-suronni ko'tarish kerak edi?

Bundan tashqari, sizning MacDM-ga HDD-ga kirish uchun 5 daqiqadan ko'proq kutishga sabringiz bo'lmasa, sizga SSD kerak bo'ladi.

Bir daqiqa kutib turing! VM. Hmm ... Virtual mashina? Siz buni tushunmadingizmi? To'g'ri, buning uchun bizga VMWare kerak bo'ladi.

1-qadam: Mac-ning o'rnatish rasmini yuklab oling

Xo'sh, bunisiz biz hech narsa qila olmasdik ...

Agar sizning Mac-dagi do'stingiz bo'lsa, uning mashinasini qarzga oling ...

MacOS Sierra-ni App Store-dan yuklab oling ...

Internetga kiring va o'rnatish rasmini ko'chma DMG / ISO shakliga olish marosimini toping.

Men bunday usulni oshkor qilmas edim, chunki men hech qanday muammoga duch kelishni xohlamayman ~ ¯ \ _ (/) _ / ¯

So'nggi DMG / ISO faylini asosiy kompyuteringizga o'tkazing. Albatta, biz bunga muhtojmiz yoki qanday qilib biz ...

2-qadam: VMWare Player-ni yuklab oling

Agar sizda ko'pchiligimiz qila olmaydigan VMWare Workstation bo'lmasa, biz VMWare Player-ni yuklab olishda davom etamiz.

Faqat uni o'rnating. Hech qanday muammo bo'lmasligi kerak.

3-qadam: Unlocker dasturini yuklab oling

To'g'ri, bu bizning birinchi xakerligimiz.

Asosan, VMWare OSX va EFI ning barcha VMWare gipervisorida, ammo VMWare Fusion-da har qanday virtual mashina instansiyalarida ishlaydigan va birgalikda (qattiq kod, ketma-ket, SMB va boshqalar) ishlashiga xalaqit beradigan muhim variantlarni blokirovka qildi.

Shunday qilib, biz Hackintoshni ishlashi uchun bir nechta narsalarni yechib, uni ochishimiz kerak bo'ladi.

"Clone or download" tugmachasini bosish orqali fayllarni yuklab olgandan so'ng, uni oching, "win-install.cmd" va "win-update-tools.cmd" nomli fayllarni toping.

"Win-install.cmd" tugmachasini o'ng tugmachasini bosing va "Administrator sifatida ishga tushirish" -ni tanlang, "win-update-tools.cmd" ni tanlang. Bu Windows-ning ro'yxatga olish kitobiga kirish uchun va yamoqlarni o'rnatish uchun VMWare xizmatlarini to'xtatish uchun talab qilinadi.

4-qadam: Yangi virtual mashinani yarating

VMWare Player-ni oching va menyudan faqat yangi Virtual Machine yaratish-ni tanlang.

Keyin siz oldin ko'chirgan o'rnatuvchi disk rasmini tanlang.

Keyin biz 'Apple Mac OS X' -ni tanlashimiz va tegishli versiyani tanlashimiz kerak. Masalan, men MacOS Sierra-ni ishlatyapman, shuning uchun 'macOS 10.12' edi, agar siz El Capitan yoki Yosemite-dan foydalanayotgan bo'lsangiz, to'g'ri versiyasini oling.

Ushbu variantlarning barchasini o'ting. VM-ni sozlashni unutmang, men asosiy hisoblarni o'zgartirdim, lekin aksariyat hollarda bu massaga mos edi.

5-qadam: .vmx faylini o'zgartirish

Biz 3-bosqichda aytib o'tgan VMWare tomonidan o'rnatilgan cheklovlarni ko'rib chiqishimiz kerak. Biz virtual mashinaning konfiguratsiya fayliga yozuvni qo'shishimiz kerak. Yoki siz VMni ishga tushirish paytida asosiy axlatga duch kelasiz.

Odatiy bo'lib, u manzilni o'zgartirmagan bo'lsangiz, '~ / Documents / Virtual Machine / / .vmx' ichida joylashgan.

Uni oching va faylning oxiriga quyidagi matnni qo'shing:

smc.version = "0"

6-qadam: Menga boshlang

Voy, bu erda qanday og'ir ish. Endi o'rnatishni boshlash vaqti keldi.

Me Agar meni ishga tushirsangiz, men hech qachon to'xtamayman

Hech qanday muammo bo'lmasligi kerak. Apple logotipini ko'rishingiz kerak.

(YMMV)

Va tilni tanlash ekrani.

Tilni tanlash ekrani

O'zingizning tilingizni tanlang. Keyin biz Utility-> Disk Utility-ni bosishimiz kerak. Virtual diskni HFS-ga formatlash.

Buni amalga oshirish videosiga qarang: https://puu.sh/w46Pj/a5a7f8ff5d.webm

Keyin uni o'rnatishni davom ettirishimiz mumkin. Odatda, buni amalga oshirish uchun 20 daqiqa vaqt ketadi. Uzoq kutgan vaqtingizda, o'zingizga bir chashka qahva tayyorlang va oxirigacha kuting. Avtomatik qayta ishga tushirish tugaganidan keyin rejalashtirilgan va siz xush kelibsiz ekranni ko'rasiz.

Amalda ko'ring: https://puu.sh/w46Pw/519687fc0d.webm

7-qadam: Meni sozlang

Xush kelibsiz ekran

Odatda yangi Mac-da bo'lgani kabi uni tugating. Joylashuv xizmatini yoqmang va Apple ID-ga kirmang. Apple-ga hech qanday ma'lumot yubormang, shuningdek Hackintosh-ni sozlashni yashirishni kuchaytirmang.

VMWare Tools-ni ham o'rnatishimiz kerak. Qidiruvchida OSX Base tizimi drayverini uzing. Keyin Player-> boshqarish-> VMWare asboblarini o'rnatish-ni bosing. Buni o'rnatib, siz ishlashda katta yutuqlarga erishasiz, ammo baribir bizning ko'z o'ngimizda ishlaydi.

Buni qarang: https://puu.sh/w4a2m/314480bc99.webm

Tabriklaymiz! Sizning qo'lingizda to'liq ishlaydigan Hackintosh virtual mashinasi bor! Endi biz ishlab chiquvchilar bo'limiga o'tamiz ...

Hackintosh tomonimizda ba'zi muhim dasturlarni o'rnatmoqchimiz ...

Bizga kerak ...

Pivo Albatta. NodeJS va NPM va React Native uchun.

Agar siz men kabi ulashmasangiz, bizning paketni o'rnatish vaqtini tezlashtirish uchun ip.

React Native Host-ni kompilyatsiya qilish uchun Xcode.

1-qadam: Xcode-ni o'rnating

Buning uchun sizdan Apple identifikatori talab qilinadi, dasturchi ham emas, oddiy ham yaxshi.

Videolarga qarang:

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

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

Tugashini kuting. Juda uzoq vaqt talab qilinmasa, sizda Internetga ulangan NAT simli ulanish imkoniyati mavjud. Safari yoki boshqa dasturlarni o'ynashni xohlaysizmi? (Dahshatli ishlashiga qaramay)

2-qadam: Pivo va tugunni o'rnating (va ip va RN)

Avval buyruqni olish uchun yuqoridagi havolani bosing.

Xo'sh, bu oson bo'lishi kerak. VMWare Tools-ni o'rnatganingizni hisobga olsak, almashtirish paneli sukut bo'yicha ikki tomonlama bo'ladi, shuning uchun uni Windows-ga nusxalashingiz va Mac-ga tashlab yuborishingiz mumkin.

Terminalni oching va Brew buyrug'ini qo'ying. O'rnatishga ruxsat berish uchun parolingizni kiriting. Hammasi avtomatlashtiriladi va 10 daqiqadan kam vaqt ichida bo'lishi kerak.

Buni misol sifatida oling: https://puu.sh/w4atb/acbf000b84.webm

(Fokus yorlig'ini qidirish uchun WinKey + Space tugmalarini bosing, yopish uchun WinKey + V tugmalarini bosing)

Node va NPM-ni o'rnatish:

$ pivo o'rnatish tugunlari

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

Iplarni o'rnatish:

$ pivo o'rnatish iplari

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

RN-ni o'rnatish:

$ npm -g-reaktiv-tabiiy-klik o'rnatish

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

3-qadam: Loyihangizni davom ettiring

Hozircha men asl repo-ni nusxa ko'chirmaganman, lekin men uning o'rniga yangi RN loyihasini yaratdim. Agar siz o'zingizning loyihangizni ko'chirgan bo'lsangiz, unda hamma narsa yaxshi sozlangan.

Sizning loyihangizni ikki xil usulda boshqarishingiz mumkin; 1-usul: Loyihaviy papkangizga o'ting, ios-ni bosing, xcodeproj-ni oching, Xcode IDE-dagi ishga tushirish tugmachasini bosing; 2-usul: Terminalda o'zingizning loyiha papkangizga o'ting, "reaktiv-ishga tushirish-ios" -ni kiriting va tugallandi.

Yakuniy bosqich: simulyatorni ishga tushirish

Muvaffaqiyat! Bu juda yaxshi ishlaydi! Vajjaj!

Qayta yuklashni yoqib, ba'zi kodlarni o'zgartirishingiz va u o'zgarganligini ko'rishingiz mumkin.

Shundan so'ng, hamma narsa joziba kabi ishlashi kerak!

Bora-bora! (Esda tuting, Buyruq tugmasi == Windows tugmachasi)

Men jismoniy qurilmalarda ishlamoqchi emasman, lekin nazariy jihatdan sizga shunchaki USB orqali ulanish kerak bo'ladi va Xcode yoki iTunes qurilmalaringizni taniy olishlari kerak.

Shunday qilib, ikkalasining qonuniyligini aytmasak, menimcha, bu Hackintosh Windows-da iOS Pro-ni ishlab chiqarishni ortiqcha Mac Pro / MacBook Pro-ni sotib olmasdan olish uchun juda yaxshi ishdir.

Ba'zilar hatto Hackintoshning buzilishlarini yalang'och metall qurilmalarga, masalan, Dell XPS 15 yoki ZenBook-ga, xuddi shu narsaga erishish mumkin bo'lgan tarzda o'rnatishi mumkin, ammo bu yanada xavflidir va siz Windows atrof-muhitingizni yo'qotib qo'ygansiz (agar siz ikki marta yuklashni yoqmasangiz - Ko'pchiligimiz bunday emas).

Men RN jamoasi o'zimizning eng qulay vositalarimizdan foydalanishda yaxshiroq rivojlanish tajribasiga ega bo'lish uchun Mac / Windows qurilmalari uchun yangi vositalar to'plamini chiqarilishini kutib qolaman. Aytishlaricha, bu qiziqarli g'oya va PRni kutmoqda.

Bu mening javobimga shubha qilaman. Qanday bo'lmasin, ushbu maqolani o'qiganingiz uchun rahmat (ko'proq qo'llanma kabi). Bir oz osonroq bo'lishi mumkin, agar sizning fikringizni baham ko'rish uchun saxiyligingiz bo'lsa, iltimos, sharh qismida buni bajaring, men sizning munosabatingizni kutaman. Hacklarim bilan yaxshi kun o'tkazing!

(13/1 da tahrirlangan)

Salomlar! O'ylaymanki, buni yozganimdan beri ancha vaqt o'tdi. Endi men Hackintosh VM-da mobil ilovalarni ishlab chiqish bilan bog'liq bo'lgan yangi dunyoni kashf etdim. Yaqinda React Native-ning rivojlanishi tufayli va Expo va faqat host-ulanishdan foydalangan holda, biz yanada rivojlangan muhitga ega bo'lamiz, natijada Windows-da IDE va ​​to'plam serverini tanlashingiz mumkin.

Bu men yuqorida aytib o'tgan darslikdagi 3-bosqichni bekor qiladi. Men VMni iOS-ning rivojlanishiga to'liq ta'sirchan qilish uchun yana bir hiyla bilan tanishtirmoqchiman.

Asosan, sizga CRNA va Expo / React Native-ning so'nggi versiyasi (yozish paytida 0,52 haqida gap ketganda) kerak, shunda. Agar sizda CRNA ostida o'rnatilgan ilova bo'lsa, u ham bemalol ishlashi mumkin.

Bu juda oddiy. (O'ylaymanki, siz ipni ishlatasiz, NPM uchun shunga o'xshash bo'lishi kerak) PowerShell yoki CMD-dan foydalanib, Windows-da CRNA to'plagichingizni ishga tushiring:

Windows $ ipni ishga tushirish
...
Ilovangizni jonli qayta yuklash orqali ko'rish uchun Expo ilovasini ushbu QR kodga yo'naltiring.
Siz QR brauzerini ilovaning "Loyihalar" sahifasida topasiz.

Yoki Expo ilovasining qidirish satriga ushbu manzilni kiriting:
exp: // : 19000
Telefoningiz ushbu kompyuter bilan bir xil tarmoq ichida bo'lishi kerak.
Expo dasturini o'rnatish uchun havolalar uchun https://expo.io sahifasiga tashrif buyuring.
Ilovangizga xizmat ko'rsatuvchi jurnallar bu erda paydo bo'ladi. To'xtatish uchun istalgan vaqtda Ctrl + C tugmalarini bosing.
›Android qurilmasi yoki emulyatorini ochish uchun a-ni bosing.
 ›QR kodini ko'rsatish uchun q tugmasini bosing.
 ›Paket paketini qayta ishga tushirish uchun r ni, paketchi dasturni qayta ishga tushirish va keshni tozalash uchun R tugmasini bosing.
 ›Ishlash rejimini o'zgartirish uchun d tugmasini bosing. (joriy rejim: ishlab chiqish)

Bu biz foydalanayotgan port bo'ladi.

Keyin, o'zingizning manzilingizni toping va sinab ko'ring. (Turli xil mashinalarda turli IP, YMMV mavjud)

OSXVM $ ifconfig
...
en0: bayroqlar = 8863  mtu 1500
variantlar = b 
efir 00: 0c: 29: a1: d7: 8e
inet6 fe80 :: cfe: e149: 421e: 601a% en0 prefiksli 64 himoyalangan 0x4 doirasi
inet 192.168.67.128 netmask 0xffffff00 efir 192.168.67.255
nd6 variantlari = 201 
media: avtoulov (1000baseT )
holati: faol

Men uchun bu manzil manzili. Lekin siz oxirgi baytni bekor qilishingiz va 1-ni qo'shishingiz kerak.

Shunday qilib, asosiy IP bu erda 192.168.67.1. Avvalo unga e'tibor bering.

Keyin, Apple muhandislari tomonidan tayyorlangan maxfiy sousni faollashtiramiz.

XCode 9-dan boshlab, Mac HD-ning ildizida oddiy katalog yaratib, siz iOS Simulator-ning ichki menyusiga kirishingiz mumkin. Eski versiyalarda bu xususiyat AFAIK-ga ega emas.

Avval barcha simulyatorlarni yoping. Buni shunchaki terminalingizga kiriting.

OSXVM $ sudo mkdir / AppleInternal
(Sizning parolingiz)

Bo'ldi shu! Endi simulyatorni ishga tushirish orqali ichki menyu mavjud yoki yo'qligini tekshirib ko'ring:

Aslida, bu haqiqiy Mac-lar uchun ham universaldir! Ushbu ichki menyu haqida ma'lumot olish uchun ushbu O'rta maqolani ko'rib chiqing. Ammo biz to'liq ekran rejimiga ko'proq e'tibor qaratmoqdamiz, bu sizning XCode-ni simulyator bilan birga yangi virtual ish stoliga olib kelishning sababi:

Agar sizda, xususan Yuqori Sierra foydalanuvchilarida biron bir muammo bo'lsa, siz qutqarish rejimida ushbu papkani yaratishingiz kerak bo'ladi. Utility va Terminal-ni bosing, lekin asosiy Mac HD-ni boshqa joyga ko'chirishingiz kerak, u ham ishlaydi.

Endi biz Expo Client-ni simulyator muhitiga o'rnatishni davom ettiramiz.

Ushbu qadam juda ahamiyatsiz, shuning uchun buni Expo rasmiy hujjati bilan tanishishingizni maslahat beraman:

Expo ilovasini o'rnatganingizdan so'ng, uni Simulyatorda oching.

Keyin, "Plus" ni bosing va sizning manzilingizni kiriting, lekin avval biz uni ko'rgazma nimani tushunishi mumkinligini formatlashimiz kerak:

Formati:

exp: // : 

Shuning uchun men uchun: "exp: //192.168.67.1: 19000"

Ochish tugmachasini bosing va agar siz to'plam Windows Dev PC-ning yon tomonida qurilganini ko'rsangiz, Tabriklaymiz, siz o'zingizni ilova simulyatori muhitiga ega bo'lasiz. Biroq, HMR yoqilmagan, lekin sukut bo'yicha Live qayta yuklash. Agar sizga kerak bo'lsa, Uskuna-> Shake Gesture-ga o'ting va uni o'zgartiring.

So'nggi qadam, uni yanada jonlantirish uchun to'liq ekranli rejimni faollashtirish. Agar siz ichki menyudagi biror narsani osongina va ahamiyatsiz belgiga bosmoqchi bo'lsangiz, shunda yashil rangli to'liq ekranli tugmachani bosing.

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

Va shu! Siz hatto Genymotion bilan ishlashingiz mumkin! Bu unumdorlikni oshirish uchun juda katta o'sishdir!

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

Yangilanish shu bilan tugadi. Umid qilamanki, safarda baxtlisiz! Expo chindan ham kuchli vositadir va biz uni qadrlashimiz kerak. Bepul tushlik kabi narsalar bo'lmaydi. Iltimos, Expo loyihasiga xayr-ehsonlarni ko'rib chiqing. Ular loyihani saqlab qolish va o'zlarining serverlarini to'lash uchun pul ishlashni xohlashadi! (Afsuski, ular hali bu usulni taklif qilishmagan)

Iltimos, Apple, o'z advokatingizga men bilan bog'lanishingizni va meni huquqiy muammolarga duch kelishingizni aytmang.