Bagaimana untuk membangunkan Reactic Native iOS Apps Di Windows dengan Hackintosh (baik, semacam)

Hello Medium! Jadi ini kisah pertama saya, tetapi saya ingin terus ke dalam permainan.

Saya agak kecewa Saya memerlukan Mac dan iPhone fizikal untuk melakukan pembangunan iOS React Native.

Maksud saya, saya mempunyai MacBook dan iPhone, saya ada. Dan saya terpaksa berkongsi repo saya ke MacBook saya kemudian jalankan saya React Native Builder dan React Native Packager, yang agak kasar dan lumpuh. Boo.

Selain itu, saya mahu bekerja di stesen kerja tidak, saya mempunyai stesen kerja Xeon dan sedih saya terpaksa mengucapkan selamat tinggal kepada papan kekunci dan tetikus saya dan dengan itu selamat tinggal kepada produktiviti.

Malah Xamarin menawarkan alat Simulator iOS jauh dan membina ejen supaya kami dapat menikmati membangunkan PC utama kami dan kemudian menolak binaan pada persekitaran Mac jauh kami. Dan saya ragu bahawa pasukan RN akan mempunyai angin untuk membuatnya berlaku.

Jadi saya meremas beberapa kuasa otak saya dan akhirnya keluar dari penyelesaian, yang sangat, sangat ganjil, gila dan malas. Dan ini perkara yang saya fikirkan:

The Good 1: Ia berfungsi secara universal, dalam mana-mana bit x86_64 PC dengan Virtualisasi diaktifkan, diberikan anda telah mengikuti langkah-langkah dengan jelas.

The Good 2: Anda dapat melupuskan alam sekitar dengan mudah. Anda juga boleh mengklonkan persekitaran dan memindahkannya ke tempat lain.

The Bad 1: It, Just, Works!

The Bad 2: Saya Tidak mencadangkan anda untuk menjalankan mana-mana program Mac lain di luar XCode.

The Bad 3: Jangan mengharapkan CPU AMD untuk menjalankan lebih banyak ini.

The Ugly 1: Anda memerlukan PC yang sangat kuat, hebat untuk itu, untuk mendapatkan hanya sebahagian kecil daripada prestasi pada Mac sebenar.

The Ugly 2: Tiada pecutan perkakasan, jadi jangan mengharapkan untuk menjalankan dan debug konteks OpenGL ES dengannya.

Jika anda seorang lelaki sebenar, dapatkan Mac. Jika tidak, kami akan menemui perjalanan ke Hack-in-to-sh!

(Amaran: Amalan Hackintosh adalah pelanggaran EULA dari Perisian dan Perkakasan Apple, dan anda mungkin menghadapi tuduhan dan tindakan undang-undang, walaupun sebenarnya tiada siapa yang telah dalam 10 tahun yang lalu tetapi syarikat lakukan, namun kita tidak terhad kepada apa-apa dengan komputer kami, termasuk memasang pelbagai sistem pengendalian, jadi jadikan diri anda sendiri dan tentukan apakah anda ingin terus melangkah pada zon kelabu yang sah)

Prasyarat

Seperti yang saya nyatakan sebelum ini, anda sebenarnya memerlukan PC yang sangat kuat dan berkuasa! Saya mempunyai stesen kerja Xeon, tetapi ia hampir tidak berfungsi dengan baik, bayangkan apa jenis mimpi buruk itu untuk mendapatkannya, eh?

Juga, anda memerlukan SSD, melainkan jika anda mempunyai kesabaran untuk menunggu lebih daripada 5 minit untuk masuk ke Mac VM anda dengan HDD anda.

Tunggu sekejap! VM. Hmm ... Mesin Maya? Anda telah meneka bukan? Betul, kita perlukan VMWare untuk ini.

Langkah 1: Ambil imej pemasangan Mac

Nah, tanpa ini kita tidak akan dapat berbuat apa-apa ...

Sekiranya anda mempunyai rakan yang mempunyai Mac, meminjam mesinnya ...

Muat turun macOS Sierra dari App Store ...

Pergi ke dalam talian dan cari ritual untuk merobek imej pemasangan itu ke dalam bentuk DMG / ISO mudah alih.

Saya tidak akan mendedahkan kaedah sedemikian, kerana saya tidak mahu mendapat masalah ~ ~ (_)

Pindahkan fail DMG / ISO akhir ke PC utama anda. Sudah tentu kita memerlukannya, atau bagaimana kita ...

Langkah 2: Muat turun Pemain VMWare

Kecuali anda mempunyai VMWare Workstation, yang kebanyakannya tidak, maka kita akan perlu untuk memuat turun VMWare Player.

Cuma pasangkannya. Harus ada masalah sama sekali.

Langkah 3: Muat turun Unlocker

Baiklah, ini adalah hack pertama kami.

Pada dasarnya, VMWare mengunci pilihan penting yang menghalang OSX dan EFI berjalan dan bekerjasama bersama (hardcode, siri, SMB, dll) yang berjalan pada mana-mana contoh mesin maya pada semua hypervisor VMWare tetapi VMWare Fusion.

Oleh itu, kita perlu 'membuka'nya dengan menampal beberapa perkara untuk mendapatkan kerja Hackintosh.

Selepas memuat turun fail dengan mengklik 'Klon atau muat turun', unzipnya, cari fail bernama 'win-install.cmd' dan 'win-update-tools.cmd'.

Klik kanan 'win-install.cmd' dan pilih 'Run as Administrator', sama dengan 'win-update-tools.cmd'. Ini diperlukan untuk mendapatkan akses ke Windows Registry dan menghentikan perkhidmatan VMWare untuk melakukan penampalan.

Langkah 4: Buat Mesin Maya Baru

Buka Pemain VMWare anda dan masuk ke menu pilih Buat Mesin Maya Baru.

Kemudian pilih fail imej cakera pemasang yang baru anda pindahkan sebelum ini.

Kemudian kami perlu memilih 'Apple Mac OS X' dan memilih versi yang sesuai. Sebagai contoh, saya menggunakan macOS Sierra, jadi ia 'macOS 10.12', jika anda menggunakan El Capitan atau Yosemite, dapatkan versi yang betul.

Pergi lulus semua pilihan itu. Ingat untuk mengkonfigurasi VM anda, saya menukar tuduhan teras, tetapi kebanyakan masa itu OK untuk massa.

Langkah 5: Memodifikasi fail .vmx

Kita perlu pergi ke sekatan yang dikenakan oleh VMWare yang telah saya sebutkan di Langkah 3. Kita perlu menambah entri ke fail konfigurasi mesin maya. Atau anda akan menghadapi dump teras semasa melancarkan VM.

Secara lalai, ia terletak di '~ / Dokumen / Mesin Maya / / .vmx' jika anda tidak menukar lokasi.

Buka dan tambah teks berikut di akhir fail:

smc.version = "0"

Langkah 6: Mulakan Saya

Whew, kerja keras di sini. Sekarang sudah tiba masanya untuk mendapatkan kerja pemasangan.

♫ Jika anda memulakan saya, saya tidak akan berhenti ♫

Harus ada masalah sama sekali. Anda sepatutnya dapat melihat Logo Apple yang mewah.

(YMMV)

Dan skrin pemilihan bahasa.

Skrin pemilihan bahasa

Pilih bahasa anda sendiri. Kemudian kita perlu klik Utiliti-> Utiliti Disk. Format cakera maya ke HFS.

Lihat video berbuat demikian: https://puu.sh/w46Pj/a5a7f8ff5d.webm

Kemudian kami dapat meneruskannya. Biasanya, ia mengambil masa kira-kira 20 minit untuk melakukannya. Semasa menunggu lama, sediakan dan ambil sendiri cawan kopi dan tunggu hingga akhir. But semula automatik dijadualkan selepas akhir, dan anda akan melihat skrin selamat datang.

Lihat dalam tindakan: https://puu.sh/w46Pw/519687fc0d.webm

Langkah 7: Tetapkan Me Up

Skrin selamat datang

Selesaikannya seperti yang biasanya anda lakukan dengan Mac baru. Jangan aktifkan perkhidmatan lokasi dan jangan lagi masuk ke ID Apple. Jangan hantar data ke Apple selain meningkatkan penyembunyian persediaan Hackintosh kami.

Kita perlu memasang Alat VMWare juga. Keluarkan sistem OSX Base anda dalam pencari. Kemudian klik Player-> Manage-> Install VMWare Tools. Dengan memasang ini, anda akan mendapat peningkatan dalam prestasi, tetapi masih tidak berjalan di mata kita.

Lihat ini: https://puu.sh/w4a2m/314480bc99.webm

Tahniah! Anda mempunyai mesin maya Hackintosh yang berfungsi sepenuhnya di tangan anda sekarang! Kami akan beralih ke seksyen pembangun ...

Kami akan menyiapkan beberapa perisian penting pada sisi Hackintosh kami ...

Kami perlukan ...

Brew. Sudah tentu. Untuk NodeJS dan NPM dan React Native.

Benang untuk mempercepatkan masa memasang pakej kami melainkan anda menggunakan bahagian seperti yang saya lakukan.

Xcode untuk mengumpul React Native Host.

Langkah 1: Pasang Xcode

Anda memerlukan ID Apple untuk ini, bukan pemaju, biasa sahaja.

Lihat video:

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

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

Tunggu sehingga selesai. Tidak perlu terlalu lama, anda mempunyai akses Internet berwayar NAT. Adakah anda ingin bermain Safari atau beberapa aplikasi lain? (Walaupun prestasi dahsyat)

Langkah 2: Pasang Brew dan Node (dan Benang dan RN)

Klik pada pautan di atas untuk mendapatkan arahan terlebih dahulu.

Nah, ini semestinya mudah. Memandangkan anda telah memasang Alat VMWare, papan klip adalah dua arah secara lalai, jadi anda boleh menyalinnya di sebelah Windows anda dan membuangnya ke bahagian Mac.

Buka terminal dan tampal perintah yang diberikan oleh Brew. Masukkan kata laluan anda untuk membolehkan pemasangan. Semua akan automatik dan harus kurang dari 10 minit.

Ambil ini sebagai contoh: https://puu.sh/w4atb/acbf000b84.webm

(Tekan WinKey + Space untuk membuka carian Spotlight, Tekan WinKey + V untuk tampal)

Memasang Node dan NPM:

$ brew memasang nodejs

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

Memasang Benang:

$ benang memasang benang

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

Pasang RN:

$ npm -g memasang tindak balas native-cli

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

Langkah 3: Dapatkan projek anda

Buat masa ini, saya tidak menyalin repo asal saya, tetapi saya telah membuat projek RN baru. Sekiranya anda memindahkan projek anda, anda mempunyai semua yang ditetapkan dengan sempurna.

Anda mempunyai dua cara menjalankan projek anda; Kaedah 1: Pergi ke folder projek anda, klik ios, buka xcodeproj, klik pada butang lari dalam Xcode IDE; Kaedah 2: Pergi ke folder projek anda di terminal, masukkan 'run-ios asli' dan poof, ia selesai.

Langkah terakhir: Jalankan simulator

Kejayaan! Ia berjalan dengan sempurna! Yay!

Anda boleh cuba untuk mengaktifkan tambah nilai panas, ubah suai kod dan lihat jika ia berubah.

Selepas itu, semuanya harus berfungsi seperti pesona!

Hooray! (Ingat, kekunci Perintah == kunci Windows)

Saya tidak cuba untuk menjalankan 'em pada peranti fizikal, tetapi secara teori anda hanya perlu passthrough USB, dan Xcode atau iTunes sepatutnya dapat mengenali peranti anda.

Oleh itu apatah lagi kesahihan di antara, saya fikir Hackintosh ini adalah hack yang sangat mewah untuk mendapatkan pembangunan iOS di Windows tanpa membeli Mac Pro / MacBook Pro yang terlalu mahal.

Sesetengah mungkin memasang penggiliran Hackintosh sebenar ke dalam perkakasan logam telanjang seperti ke dalam ultrabook, Dell XPS 15 atau ZenBook, dengan cara yang sama dapat dicapai, tetapi ia lebih berbahaya dan anda kehilangan persekitaran Windows (kecuali jika anda mempunyai dual boot enabled - Kebanyakan kita tidak).

Saya tidak sabar-sabar untuk melihat pasukan RN melepaskan toolkit baru untuk Mac / Windows devs untuk mendapatkan pengalaman pembangunan yang lebih baik sambil menggunakan alat yang paling selesa untuk kita sendiri. Mereka mengatakan ia satu idea yang menarik dan menanti PR.

Saya ragu ini jawapan saya untuk ini. Bagaimanapun, terima kasih kerana membaca artikel ini (lebih seperti tutorial). Terdapat pasti lebih mudah, jika anda mempunyai kemurahan hati untuk berkongsi idea anda, sila berbuat demikian di bahagian komen, saya berharap dapat melihat reaksi anda. Mempunyai hari yang bagus dengan hacks saya!

(Disunting dalam 13/1)

Salam sejahtera! Saya rasa sudah lama sejak saya menulis ini. Kini, saya telah menemui dunia baru mengenai perkembangan aplikasi mudah alih dalam VM Hackintosh. Terima kasih kepada kemajuan React Native yang baru-baru ini dan dengan mengeksploitasi Ekspo dan sambungan hos-satunya, kita boleh mempunyai persekitaran pembangunan yang lebih manis sehingga akhirnya anda boleh mempunyai pilihan IDE dan pelayan bundle yang dihoskan di Windows.

Ini akan mengatasi Langkah 3 dalam tutorial yang saya nyatakan di atas. Saya juga akan memperkenalkan satu lagi tipu daya untuk menjadikan VM sepenuhnya immersive untuk pembangunan IOS.

Pada asasnya, anda hanya perlu CRNA dan versi terbaru Expo / React Native (bercakap 0.52 pada masa penulisan), itu sahaja. Sekiranya anda mempunyai aplikasi yang sedia ada di bawah CRNA, ia mungkin berfungsi dengan sempurna juga.

Ia sangat mudah. (Saya menganggap anda akan menggunakan Benang, sepatutnya sama dengan NPM) Mulakan pembungkus CRNA anda di Windows, menggunakan PowerShell atau CMD:

Windows $ benang jalankan permulaan
...
Untuk melihat apl anda dengan muat semula secara langsung, arahkan aplikasi Expo ke kod QR ini.
Anda akan menemui pengimbas QR pada tab Projek apl.

Atau masukkan alamat ini dalam bar carian aplikasi Expo:
exp: // : 19000
Telefon anda perlu berada pada rangkaian tempatan yang sama seperti komputer ini.
Untuk pautan untuk memasang aplikasi Expo, sila lawati https://expo.io.
Log dari berkhidmat aplikasi anda akan muncul di sini. Tekan Ctrl + C pada bila-bila masa untuk berhenti.
> Tekan untuk membuka peranti Android atau emulator.
 > Tekan q untuk memaparkan kod QR.
 > Tekan r untuk memulakan semula pembungkus, atau R untuk memulakan semula pembungkus dan cache yang jelas.
 > Tekan d untuk menukar mod pembangunan. (mod semasa: pembangunan)

Ini akan menjadi pelabuhan yang kami gunakan.

Kemudian, cuba cari alamat hos anda. (Mesin berbeza mempunyai IP yang berbeza, YMMV)

OSXVM $ ifconfig
...
en0: flags = 8863  mtu 1500
pilihan = b 
eter 00: 0c: 29: a1: d7: 8e
inet6 fe80 :: cfe: e149: 421e: 601a% en0 prefixlen 64 secured scopeid 0x4
inet 192.168.67.128 netmask 0xffffff00 siaran 192.168.67.255
nd6 pilihan = 201 
media: autoselect (1000baseT )
status: aktif

Bagi saya, ini adalah alamat tuan rumah. Tetapi anda perlu membuang bait terakhir dan menambahkan 1.

Jadi IP host di sini ialah 192.168.67.1. Ambil perhatian terlebih dahulu.

Kemudian, kami akan mengaktifkan sos rahsia yang dibuat oleh jurutera Apple.

Bermula dari XCode 9, dengan mencipta direktori mudah di akar Mac HD anda, anda boleh mendapat akses ke menu dalaman Simulator iOS. Versi lama tidak mempunyai ciri AFAIK ini.

Tutup semua simulator anda terlebih dahulu. Kemudian taipkan ini di terminal anda.

OSXVM $ sudo mkdir / AppleInternal
(Kata laluan Awak)

Itu sahaja! Sekarang periksa apakah menu dalaman hadir dengan memulakan simulator dan cari ini:

Sebenarnya, ini universal kepada Mac sebenar juga! Untuk maklumat menu dalaman ini, periksa artikel Sedang ini. Tetapi kami lebih tertumpu pada mod skrin penuh, yang sebenarnya adalah sebab anda boleh membawa XCode anda bersama-sama dengan simulator dalam desktop maya yang baru:

Jika anda mempunyai sebarang masalah kebenaran, dengan baik, terutamanya pengguna High Sierra, anda perlu membuat folder ini dalam Mod Pemulihan. Hanya klik Utiliti dan Terminal, tetapi anda perlu memindahkan Main Mac HD anda, ia akan berfungsi juga.

Kini, kami akan terus memasang Expo Client pada persekitaran simulator (mana-mana satu).

Langkah ini adalah sangat remeh, jadi saya cadangkan anda membaca ini dari dokumen rasmi Expo bukannya:

Setelah anda memasang aplikasi Expo, bukanya di Simulator.

Kemudian, klik 'Plus' dan taip alamat hos anda, tetapi pertama, kita perlu memformatkannya ke ekspo apa yang dapat dikenali:

Formatnya ialah:

exp: // : 

Jadi bagi saya iaitu: "exp: //192.168.67.1: 19000"

Klik buka, dan jika anda melihat bundle yang sedang dibina di sisi Windows Dev PC, maka CONGRATULATIONS, anda dapat memperoleh persekitaran simulator app sendiri. Walau bagaimanapun, HMR tidak aktif, tetapi Live Reload, secara lalai. Sekiranya anda memerlukannya, Go Hardware-> Shake Gesture dan ubahnya.

Langkah terakhir adalah untuk mengaktifkan mod skrin penuh untuk menjadikannya lebih immersive. Sekiranya mengklik item dalam Menu Dalaman mudah dan remeh untuk anda, kemudian klik butang hijau skrin penuh.

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

Dan itu sahaja! Anda juga boleh bekerja dengan Genymotion! Ini adalah rangsangan yang sangat besar untuk produktiviti!

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

Itulah akhir pembaharuan. Harap anda gembira dalam perjalanan! Ekspo memang alat yang berkuasa dan kita perlu menghargainya. Tidak ada perkara seperti makan siang percuma. Sila pertimbangkan sumbangan kepada projek Expo. Mereka bersungguh-sungguh dalam bentuk wang untuk mengekalkan projek itu dan membayar pelayan mereka (membina)! (Sayangnya mereka tidak menawarkan kaedah untuk melakukan ini)

Dan sila, Apple, jangan beritahu peguam anda untuk menghubungi saya dan mendapatkan saya ke masalah undang-undang.