Hackintosh istifadə edərək Windows-da yerli iOS tətbiqetmələrini necə inkişaf etdirmək olar

Salam Orta! Yəni bu mənim ilk hekayəmdir, amma oyuna dərhal girmək istəyirəm.

İOS React Native-i inkişaf etdirmək üçün fiziki bir Mac və iPhone-a ehtiyacım olduğuna görə bir az məyus oldum.

Yəni MacBook və iPhone var, məndə var. Repomu MacBook'umla paylaşmalı və sonra React Native Builder və React Native Packager'imi çalıştırmalı idim, bu olduqca açıq və topaldır. Boo.

Mən də bir iş stansiyasında işləmək istəyirəm. Bir Xeon iş stansiyam var və klaviatura və siçanla vidalaşmalı olduğum üçün kədərli oldum və bu səbəblə məhsuldarlıq ilə vidalaşdım.

Xamarin belə uzaq bir iOS simulyatoru və qurma agenti təklif etdi ki, əsas PC-də inkişafdan həzz ala bilək və sonra uzaq Mac mühitimizdəki quruluşu itələyək. Və RN komandasının meh əsəcəyinə şübhə edirəm.

Beləliklə, beyin gücümün bir hissəsini sıxdım və nəhayət çox, çox dəli, dəli və tənbəl bir həll tapdım. Düşündüyüm nöqtələr:

Yaxşı 1: Virtuallaşdırma aktivləşdirilmiş bütün x86_64-bit kompüterlərdə universal şəkildə işləyir, addımları dəqiq izlədiyiniz təqdirdə.

Yaxşı 2: Ətraf mühiti asanlıqla ata bilərsiniz. Bir mühiti klonlayaraq başqa yerə köçürə bilərsiniz.

Pis 1: Yalnız işləyir!

The Bad 2: XCode xaricində Mac proqramlarının işləməsini məsləhət görmürəm.

Pis 3: AMD CPU-larının ondan çox işləməyini gözləməyin.

Çirkin 1: Həqiqi bir Mac-da performansın bir hissəsini əldə etmək çox güclü, dəhşətli bir PC tələb edir.

Çirkin 2: Donanım sürətlənməsi yoxdur. Buna görə OpenGL ES kontekstini işə salmağı və ayıklamağı düşünməyin.

Həqiqi bir kişisinizsə, özünüzə Mac düzəldin. Əks təqdirdə, indi-to-sh hack səyahətini kəşf edəcəyik!

(Xəbərdarlıq: Hackintosh tətbiqetməsi Apple Software and Hardware EULA-nın pozulmasıdır və son 10 ildə bir şirkətdən başqa heç kimin hərəkət etməməsinə baxmayaraq ittihamlar və məhkəmə çəkişmələri ilə nəticələnə bilər. müxtəlif əməliyyat sistemlərinin quraşdırılması da daxil olmaqla kompüterimizlə əlaqəli şeylər, buna görə özünüzü möhkəmləndirin və qanuni bir boz sahəyə addım atmağa davam edib etməməyinizə qərar verin.

tələb

Daha əvvəl də qeyd edildiyi kimi, çox güclü və güclü bir kompüterə ehtiyacınız var! Xeon iş stansiyam var, ancaq çətinliklə yaxşı işləyir. Təsəvvür edin ki, onları düzgün işləməyə vadar edən bir kabus idi?

Sabit diskinizin Mac VM-yə daxil olmasını 5 dəqiqədən çox gözləmək üçün səbriniz yoxdursa, SSD-yə ehtiyacınız olacaq.

Bir dəqiqə gözlə! VM. Hmm ... virtual maşın? Tahmin etdiniz, deyilmi? Düzdür, bunun üçün VMWare lazımdır.

Adım 1: Mac quraşdırma görüntüsünü əldə edin

Onsuz heç bir şey edə bilməzdik ...

Mac-lı bir dostunuz varsa, kompüterlərini borc götürün.

App Store-dan macOS Sierra yükləyin ...

İnternetə qoşulun və bu quraşdırma şəklini portativ DMG / ISO formatına köçürmə ritualını tapın.

Heç bir problem yaşamaq istəmədiyim üçün belə bir üsul açıqlamayacağam. ~ ¯ \ _ (ツ) _ / ¯

Son DMG / ISO sənədini əsas kompüterinizə köçürün. Əlbətdə buna ehtiyacımız olacaq və ya necə ola bilərik ...

Addım 2: VMWare Player'i yükləyin

Bir çoxumuzda olmayan VMWare Workstation olmadıqca, VMWare Player'ı yükləməyimiz lazımdır.

Yalnız qurun. Heç bir problem olmamalıdır.

Adım 3: kilid açarını yükləyin

Tamam, bu ilk hackimizdir.

Əsasən VMWare, OSX və EFI-nin VMWare Fusion (sabit kod, serial, SMB və s.) Xaricindəki bütün VMWare hiper müşavir nümunələrində işləməsini və birlikdə işləməsini qarşısını almaq üçün əsas variantları kilidlədi.

Buna görə Hackintosh-un işləməsi üçün bir neçə şey yamaqlayaraq "kilidini açmalıyıq".

"Klonlama və ya Yüklə" düyməsinə basaraq faylları yüklədikdən sonra onları çıxarın və "win-install.cmd" və "win-update-tools.cmd" adlı sənədləri tapın.

Win-install.cmd düyməsini sağ vurun və Administrator olaraq Çalıştır'ı seçin. Eyni şey "win-update-tools.cmd" üçün də tətbiq olunur. Bu, Windows qeydinə giriş əldə etmək və yamalar tətbiq etmək üçün VMWare xidmətlərini dayandırmaq üçün tələb olunur.

Addım 4: Yeni bir virtual maşın yaradın

VMWare pleyerinizi açın və menyudan Yeni Virtual Maşın Yarat seçimini seçin.

Sonra əvvəllər köçürdüyünüz quraşdırma CD görüntü sənədini seçin.

Sonra "Apple Mac OS X" seçməli və uyğun versiyanı seçməliyik. Bu nümunədə macOS Sierra istifadə edirəm. Beləliklə, El Capitan və ya Yosemite istifadə edirsinizsə, bu macOS 10.12 idi. Düzgün versiyanı əldə edin.

Bütün bu seçimlərdən keçin. VM-nizi konfiqurasiya etməyi unutmayın. Nüvələrin sayını dəyişdirdim, əksər vaxt toplu üçün yaxşı idi.

Addım 5: VMX Faylının dəyişdirilməsi

3-cü addımda qeyd etdiyim VMWare tərəfindən qoyulmuş məhdudiyyəti atlamalıyıq. Virtual maşın konfiqurasiya sənədinə bir giriş əlavə etməliyik. Yoxsa VM-nin işə salınması zamanı nüvə tökmə ilə qarşılaşacaqsınız.

Varsayılan olaraq "~ / Documents / Virtual Machine /" altında yerləşir. / .vmx "yeri dəyişdirməmisinizsə.

Açın və sənədin sonuna aşağıdakı mətni əlavə edin:

smc.version = "0"

Addım 6: məni başladın

Phew burada nə qədər zəhmətkeşdir. İndi quraşdırmanı işə salmağın vaxtı gəldi.

♫ Məni açsanız, heç vaxt dayanmaram ♫

Heç bir problem olmamalıdır. Qəşəng Apple loqosunu görə bilməli olmalısınız.

(YMMV)

Və dil seçimi ekranı.

Dil seçimi ekranı

Öz dilinizi seçin. Sonra Utilities-> Disk Utility-yə vurmalıyıq. HFS-də virtual sabit diski formatlaşdırın.

Videoya baxın: https://puu.sh/w46Pj/a5a7f8ff5d.webm

Sonra quraşdırma ilə davam edə bilərik. Ümumiyyətlə bu təxminən 20 dəqiqə çəkir. Uzun gözləmə zamanı özünüzə bir fincan qəhvə hazırlayın və sonuna qədər gözləyin. Tamamlandıqda, avtomatik yenidən başlama planlaşdırılır və qarşılama ekranı görünür.

Fəaliyyətə baxın: https://puu.sh/w46Pw/519687fc0d.webm

Adım 7: məni qurun

Xoş ekran

Yeni bir Mac ilə normal olaraq çıxın. Məkan xidmətini hələ açmayın və ya Apple ID-yə daxil olun. Apple-a hər hansı bir məlumat göndərməyin və ya Hackintosh quruluşumuzu pozmayın.

VMWare Tools'u da quraşdırmalıyıq. Finder-də OSX Base sistem sürücüsünü sökün. Sonra Player-> İdarə et> VMWare Tools'u quraşdırın. Bunu quraraq, böyük bir performans qazancına sahib olacaqsınız, ancaq gözümüzdə bu, çətinliklə nəzərə çarpır.

Baxın: https://puu.sh/w4a2m/314480bc99.webm

Təbrik edirik! Artıq əlinizdə tamamilə işləyən bir Hackintosh virtual maşını var! İndi geliştirici sahəsinə keçirik.

Hackintosh saytımızda vacib bir proqram qurma mərhələsindəyik.

Ehtiyacımız var ...

Brew. Təbii. NodeJS və NPM və React Native üçün.

Mənim kimi paylaşmadığınız təqdirdə paketimizin quraşdırma müddətini sürətləndirmək üçün mövzu.

React Native Host-u tərtib etmək üçün Xcode.

Addım 1: Xcode quraşdırın

Bunun üçün geliştirici kimliyi deyil, Apple ID-yə ehtiyacınız var. Normal şəxsiyyət vəsiqəsi yaxşıdır.

Videolara baxın:

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

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

Bitməsini gözləyin. Çox uzun sürməsə, simli NAT internet bağlantınız var. Safari və ya digər tətbiqetmələr oynamaq istəyirsiniz? (Dəhşətli performansa baxmayaraq)

Addım 2: qaşları və düyünləri (və iplik və RN) quraşdırın

Əvvəlcə əmri almaq üçün yuxarıdakı linki vurun.

Bu asan olmalıdır. VMWare Tools quraşdırmısınızsa, panoya borc olaraq iki istiqamətlidir, beləliklə onu Windows tərəfinizdən kopyalayıb Mac tərəfində saxlaya bilərsiniz.

Terminalı açın və Brew tərəfindən verilən əmri yapışdırın. Quraşdırmanı təmin etmək üçün parolunuzu daxil edin. Hər şey avtomatlaşdırılmışdır və 10 dəqiqədən az olmalıdır.

Bunu nümunə götürün: https://puu.sh/w4atb/acbf000b84.webm

(Spotlight Axtarışı açmaq üçün WinKey + Space düymələrini basın. Yapışdırmaq üçün WinKey + V düymələrini basın.)

Node və NPM quraşdırın:

$ dəmləmə quraşdırma nodejs

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

İplik quraşdırın:

$ Mövzunu daxil edin

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

RN quraşdırın:

$ npm -g install response-native-cli

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

Adım 3: layihənizə davam edin

Hal-hazırda orijinal repomuzu kopyalamadım, ancaq yeni bir RN layihəsi yaratdım. Layihənizi köçürdünüzsə, hər şey mükəmməl şəkildə qurulub.

Layihənizi idarə etmək üçün iki seçiminiz var. Metod 1: layihə qovluğuna gedin, ios düyməsini vurun, xcodeproj açın və Xcode IDE-də işləmə düyməsini basın. Metod 2: Terminaldakı layihə qovluğuna gedin, "Native Run-ios response" daxil edin və budur.

Son addım: simulyatoru işə salın

Uğur! Mükəmməl gedir! Hey!

İsti yenidən yükləməni təmin etməyi, kodu dəyişdirməyi və dəyişib dəyişməyəcəyini görməyə cəhd edə bilərsiniz.

Bundan sonra hər şey bir cazibə kimi işləməlidir!

Uğur! (Komut düyməsini == windows açarını xatırlayın)

Onları fiziki cihazlarda işləməyə çalışmadım, ancaq nəzəri olaraq yalnız bir USB ötürücüsü lazımdır və Xcode və ya iTunes cihazlarınızı tanımalıdır.

Aradakı qanunçuluqdan danışmaq olmaz. Hesab edirəm ki, bu Hackintosh, həddən artıq qiymətli bir Mac Pro / MacBook Pro satın almadan Windows-da iOS inkişaf etdirilməsi üçün olduqca xülya bir hackdir.

Bəziləri Dell XPS 15 və ya ZenBook ultrabooks kimi çılpaq metal aparatlara həqiqi bir Hackintosh dağılımı qura bilər. Eyni şey bu şəkildə əldə edilə bilər, ancaq daha təhlükəlidir və Windows mühitinizi itirmisiniz (ikili açılışa imkan verməmisinizsə - çoxumuz yoxdur.

RN komandasının Mac / Windows inkişaf etdiriciləri üçün daha uyğun bir inkişaf təcrübəsi əldə etməsi üçün yeni bir alət dəsti buraxmasını səbirsizliklə gözləyirəm. Bunun maraqlı bir fikir olduğunu və PR gözlədiklərini söyləyirlər.

Bu mənim cavabım olduğuna şübhə edirəm. Hər halda, bu məqaləni oxuduğunuz üçün təşəkkür edirəm (daha çox təlimat kimi). Fikrinizi bölüşmək üçün səxavətiniz varsa, asanlıqla şərh bölməsində edin. Cavabınızı səbirsizliklə gözləyirəm. Xaklarımla sizə xoş bir gün diləyirəm!

(13/1 redaktə edilmişdir)

Hörmətlə! Düşünürəm ki, bunu yazdığımdan çox vaxt keçib. İndi Hackintosh VM-də mobil tətbiqetmə inkişafı üçün tamamilə yeni bir dünya kəşf etdim. React Native-in son inkişafı və Expo və yalnız ev sahibi əlaqələrin istismarı sayəsində daha da şirin bir inkişaf mühitinə sahib ola bilərik ki, nəhayət IDE ilə Windows-da yerləşdirilən paket serverləri arasında seçim edə biləsiniz.

Bu yuxarıda göstərilən təlimatdakı 3-cü addımı ləğv edəcəkdir. VM-nin iOS inkişafı üçün tam işləməsi üçün sizə başqa bir hiylə də göstərəcəyəm.

Əsasən, ehtiyacınız olan yalnız CRNA və Expo / React Native-in son versiyasıdır (yazı zamanı .52 oxuyun). Mövcud bir tətbiqi CRNA altında yükləmisinizsə, bu da yaxşı işləyə bilər.

Çox asandır. (İplik istifadə etdiyinizi düşünürəm, NPM üçün oxşar olmalıdır.) Windows-da CRNA paketleyicinizi PowerShell və ya CMD ilə başlayın:

Windows $ Start mövzu işləmə ... Tətbiqinizi yenidən yükləyərkən real vaxt rejimində göstərmək üçün Expo tətbiqini bu QR koduna yönəldin. QR skanerini tətbiqin Layihələr nişanında tapa bilərsiniz. Və ya bu ünvanı Expo tətbiqinin axtarış çubuğuna daxil edin:
exp: // : 19000
Telefonunuz bu kompüterlə eyni lokal şəbəkədə olmalıdır. Expo tətbiqini quraşdırmaq üçün linkləri https://expo.io-da tapa bilərsiniz.
Tətbiqinizin yerləşdirilməsindən qeydlər burada göstərilir. Çıxmaq üçün istənilən vaxt Ctrl + C düymələrini basa bilərsiniz.
›Android cihazını və ya emulatoru açmaq üçün a düyməsini basın. ›QR kodunu göstərmək üçün q düyməsini basın. ›Paketçini yenidən başlatmaq üçün r və ya paketini yenidən başladaraq önbelleği təmizləmək üçün R düyməsini basın. ›İnkişaf rejimini dəyişdirmək üçün d düyməsini basın. (cari rejim: inkişaf)

Bura istifadə edəcəyimiz liman olacaq.

Sonra ev sahibinizi tapmaq üçün cəhd edin. (Fərqli maşınlarda fərqli IP, YMMV var)

OSXVM $ ifconfig ... en0: bayraqlar = 8863 mtu 1500 variantları = b Eter 00: 0c: 29: a1: d7: 8e inet6 fe80 :: cfe: e149: 421e: 601a% en0 prefixlen 64 qorunan əhatə dairəsi 0x4 inet 192.168.67.128 netmask 0xffffff00 yayım 192.168.67.255 nd6 variantları = 201 Media: avtomatik seçim (1000baseT ) Status: aktivdir

Mənim üçün bu ev sahibidir. Lakin son baytı atıb 1 əlavə etməlisiniz.

Beləliklə, burada ev sahibi IP 192.168.67.1-dir. Əvvəlcə qeyd edin.

Sonra Apple mühəndislərinin gizli sousunu aktivləşdirəcəyik.

XCode 9-dan başlayaraq Mac HD-nin kök qovluğunda sadə bir qovluq yaradaraq iOS simulyatorunun daxili menyusuna daxil ola bilərsiniz. Köhnə versiyalarda bu AFAIK funksiyası yoxdur.

Əvvəlcə bütün simulyatorlarınızı bağlayın. Sonra bunu yalnız terminalınıza yazın.

OSXVM $ sudo mkdir / AppleInternal
(Parolunuz)

Bu belədir! İndi simulyatoru işə salaraq onu axtararaq daxili menyunun olub olmadığını yoxlayın.

Əslində bu, real Maclar üçün də universaldır! Bu daxili menyu haqqında məlumatlar bu Orta məqalədə tapıla bilər. Bununla birlikdə, tam ekran rejiminə daha çox diqqət yetirəcəyik. XCodunuzu simulyatorla birlikdə yeni bir virtual masaüstünə inteqrasiya etməyinizin əsl səbəbi budur:

Xüsusilə High Sierra istifadəçiləri bir icazə probleminiz varsa, bu qovluğu bərpa rejimində yaratmalısınız. Yalnız "Utility" və "Terminal" düymələrini vurun, ancaq bunun işləməsi üçün əsas Mac HD-nizi başqa bir yerə köçürməlisiniz.

İndi hər hansı bir simulyator mühitində Expo Client quraşdıracağıq.

Bu addım çox əhəmiyyətsizdir, buna görə bunu rəsmi Expo sənədindən oxumağınızı məsləhət görürəm:

Expo tətbiqini qurduqdan sonra simulyatorda açın.

Sonra "Artıq" düyməsini basın və ev sahibi ünvanınızı daxil edin. Ancaq əvvəlcə onu formatlaşdırmalıyıq ki, yarmarka tərəfindən tanınsın:

Format:

exp: // :

Mənim üçün bu o deməkdir: "exp: //192.168.67.1: 19000"

"Aç" düyməsini basın. Paketin Windows Dev-PC səhifəsində yaradıldığını gördükdə və "TABRİKLƏR" düyməsini vurduqda, App Simulator Environment yükləyə bilərsiniz. Bununla birlikdə, HMR aktivləşdirilmir, varsayılan olaraq Live Reload olaraq təyin olunur. Ehtiyacınız budursa, Hardware-> Shake Jest-ə gedin və dəyişdirin.

Son addım, tam ekran rejimini daha da əhatəli hala gətirməkdir. Daxili menyuda bir maddəyə vurmaq sizin üçün asan və əhəmiyyətsizdirsə, sadəcə yaşıl tam ekran düyməsini vurun.

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

Və bu qədər! Genymotion’un yanında çalışmasına da icazə verə bilərsiniz! Bu məhsuldarlıqda böyük bir artımdır!

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

Yeniləmə artıq başa çatdı. Ümid edirəm səfərdə xoşbəxt olursan! Expo həqiqətən güclü bir vasitədir və bunu qiymətləndirməliyik. Pulsuz nahar yoxdur. Xahiş edirəm Expo layihəsi üçün bağışları nəzərdən keçirin. Layihəni qorumaq və öz serverlərini ödəmək üçün çalışırlar! (Təəssüf ki, bunu etmək üçün hələ bir metod təklif etməyiblər)

Xahiş edirəm, Apple, vəkilinizdən mənimlə əlaqə qurmasını və məni hüquqi problemə salmasını istəməyin.