Как да разработим React Native iOS приложения в Windows с Hackintosh (добре, нещо като)

Здравейте средно! Това е първата ми история, но бих искал да вляза направо в играта.

Аз съм разочарован, че ми е необходим физически Mac и iPhone, за да направя iOS React Native разработка.

Искам да кажа, че имам MacBook и iPhone, имам го. И трябваше да споделя репото си на моя MacBook, след това да пусна моята React Native Builder и React Native Packager, което е нещо многословно и куцо. Бу.

Освен това искам да работя в работна станция, имам работна станция Xeon и е тъжно, че трябваше да се сбогувам с клавиатурата и мишката и оттам сбогом на производителността.

Дори Xamarin предложи дистанционен iOS Simulator и изграждащ агент, за да можем да се радваме да се развиваме на основния си компютър и след това да натискаме надграждането в отдалечената си Mac среда. И се съмнявам, че екипът на RN ще има полъх, за да направи това.

Така изтръгнах част от мозъчната си сила и накрая излязох от решение, което е много, много откачено, лудо и мързеливо. И ето въпросите, за които се сетих:

Добрият 1: Той работи универсално, във всички x86_64 битови компютри с активирана виртуализация, като сте последвали стъпките ясно.

Доброто 2: Можете лесно да изхвърляте околната среда. Можете също така да клонирате среда и да я преместите някъде другаде.

Лошият 1: Той просто работи!

Лошото 2: Не ви препоръчвам да стартирате други Mac програми извън XCode.

Лошото 3: Не очаквайте AMD процесорите да работят много над това.

The Ugly 1: За това ви е необходим много ужасен, чудовищен компютър, за да получите само частица от производителността на истински Mac.

Ugly 2: Без хардуерно ускорение, така че не очаквайте да стартирате и отстранявате грешки в контекста на OpenGL ES с него.

Ако сте истински мъж, вземете Mac. В противен случай сега ще открием пътуването до Hack-in-to-sh!

(Предупреждение: Практикуването на Hackintosh е нарушение на EULA както на софтуера на Apple, така и на хардуера, и може да се сблъскате с обвинения и съдебни дела, въпреки факта, че никой не е бил през последните 10 години, а компания, но ние не сме ограничени да правим всичко с нашия компютър, включително инсталиране на различни операционни системи, така че се грижете за себе си и преценете дали искате да продължите да стъпвате върху законна сива зона)

предпоставка

Както вече споменах, всъщност имате нужда от много силен и мощен компютър! Имам работна станция на Xeon, но тя едва върви добре, представете си какъв кошмар беше да я накарате да забърза, нали?

Също така ви трябва SSD, освен ако нямате търпение да изчакате повече от 5 минути, за да влезете във вашия Mac VM с вашия HDD.

Чакай малко! VM. Хм ... Виртуална машина? Предполагате, че не е така? Точно така, за това ще ни трябва VMWare.

Стъпка 1: Извадете инсталационното изображение на Mac

Е, без това нямаше да можем да направим нищо ...

Ако имате приятел, който има Mac, вземете назаем неговата машина ...

Изтеглете macOS Sierra от App Store…

Отидете онлайн и намерете ритуала да извадите това инсталационно изображение в преносим DMG / ISO форма.

Аз не бих разкрил такъв метод, защото не искам да имам проблеми ~ ¯ \ _ (ツ) _ / ¯

Прехвърлете окончателния DMG / ISO файл на вашия основен компютър. Разбира се, че ще ни трябва, или как ...

Стъпка 2: Изтеглете VMWare Player

Освен ако нямате VMWare Workstation, която повечето от нас нямат, ще трябва да продължим да изтегляте VMWare Player.

Просто го инсталирайте. Не трябва да има никакви проблеми.

Стъпка 3: Изтеглете Unlocker

Добре, това е първият ни хак.

По принцип VMWare заключи основните опции, предотвратяващи OSX и EFI да работят и да работят заедно (твърд код, сериен, SMB и др.), Работещи на всякакви екземпляри на виртуална машина на всички хипервизори на VMWare, но VMWare Fusion.

Така че ще трябва да го „отключим“, като закърпим няколко неща, за да накараме Hackintosh да работи.

След като изтеглите файловете, като кликнете върху „Клониране или изтегляне“, разархивирайте, намерете файловете с име „win-install.cmd“ и „win-update-tools.cmd“.

Кликнете с десния бутон върху „win-install.cmd“ и изберете „Изпълнение като администратор“, същото става и „win-update-tools.cmd“. Това е необходимо, за да получите достъп до системния регистър на Windows и да спрете VMWare услугите, за да извършите кръпка.

Стъпка 4: Създайте нова виртуална машина

Отворете своя VMWare Player и точно в менюто изберете Create New Virtual Machine.

След това изберете файла с изображения на диска за инсталиране, който току-що прехвърлихте преди.

Тогава ще трябва да изберем „Apple Mac OS X“ и да изберем подходящата версия. Ето например, използвам macOS Sierra, така че беше „macOS 10.12“, ако използвате El Capitan или Yosemite, вземете правилната версия.

Преминете всички тези опции. Не забравяйте да конфигурирате вашия VM, промених броя на ядрото, но през повечето време беше наред за масата.

Стъпка 5: Модиране на .vmx файла

Ще трябва да заобиколим ограничението, наложено от VMWare, което споменах в стъпка 3. Ще трябва да добавим запис към конфигурационния файл на виртуалната машина. Или ще се сблъскате с ядрото по време на стартирането на VM.

По подразбиране той се намира в „~ / Документи / виртуална машина / <Вмъкване на вашето VM име> / <Вмъкване на вашето VM име> .vmx“, ако не сте променили местоположението.

Отворете го и добавете следния текст в самия край на файла:

smc.version = “0”

Стъпка 6: Стартирай ме

Уау, каква трудна работа тук. Сега е време да стартирате инсталацията.

♫ Ако ме започнете, никога няма да спра stop

Въобще не трябва да има проблеми. Трябва да можете да видите фантазираното лого на Apple.

(YMMV)

И екрана за избор на език.

Екран за избор на език

Изберете собствения си език. След това ще трябва да щракнете върху Utilities-> Disk Utility. Форматирайте виртуалния диск в HFS.

Вижте видеото за това: https://puu.sh/w46Pj/a5a7f8ff5d.webm

Тогава бихме могли да пристъпим към инсталирането му. Обикновено това отнема около 20 минути. По време на продължителното чакане си пригответе и вземете чаша кафе и изчакайте до края. След края му е планирано автоматично рестартиране и ще видите екрана с добре дошли.

Вижте в действие: https://puu.sh/w46Pw/519687fc0d.webm

Стъпка 7: Настройте ме

Екранът за добре дошли

Завършете го, както обикновено правите с нов Mac. Не активирайте услугата за местоположение и все още не влизайте в Apple ID Не изпращайте никакви данни на Apple, както и за увеличаване на укриването на нашата настройка за Hackintosh.

Ще трябва да инсталираме и VMWare инструменти. Демонтирайте вашия OSX Base System диск в търсачката. След това щракнете върху Player-> Manage-> Install VMWare Tools. Инсталирайки това, вие получавате огромен тласък в производителността, но все още едва работи в нашите очи.

Вижте това: https://puu.sh/w4a2m/314480bc99.webm

Честито! В момента имате напълно функционална виртуална машина Hackintosh! Сега ще преминем към секцията за програмисти ...

На път сме да настроим някакъв основен софтуер от нашата страна на Hackintosh ...

Ще ни трябва ...

Brew. Разбира се. За NodeJS и NPM и React Native.

Прежда, за да ускорите времето за инсталиране на пакета, освен ако не го споделяте, както аз.

Xcode за компилиране на React Native Host.

Стъпка 1: Инсталирайте Xcode

За това се нуждаете от Apple ID, не, а не от разработчика, обикновеният е добре.

Вижте видеоклиповете:

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

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

Изчакайте, докато свърши. Не трябва да отнема твърде много време, имате NAT кабелен достъп до Интернет. Искате ли да играете Safari или някои други приложения? (Въпреки ужасното представяне)

Стъпка 2: Инсталирайте Brew and Node (и Прежди и RN)

Кликнете върху връзката по-горе, за да получите командата първо.

Е, това трябва да е лесно. Като имате предвид, че сте инсталирали VMWare Tools, клипбордът е двупосочен по подразбиране, така че можете да го копирате в страната на Windows и да го зарежете в Mac страна.

Отворете терминала и поставете командата, дадена от Brew. Въведете вашата парола, за да разрешите инсталацията. Всички ще бъдат автоматизирани и трябва да са за по-малко от 10 минути.

Вземете това като пример: https://puu.sh/w4atb/acbf000b84.webm

(Натиснете WinKey + Space, за да отворите търсенето със светлини, Натиснете WinKey + V, за да поставите)

Инсталиране на Node и NPM:

$ brew install nodejs

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

Инсталиране на прежда:

$ варя инсталирайте прежда

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

Инсталиране на RN:

$ npm -g инсталирайте react-native-cli

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

Стъпка 3: Вземете своя проект

Засега не съм копирал оригиналното си репо, но вместо това създадох нов RN проект. Ако сте преместили проекта си, всичко е настроено перфектно.

Имате два начина за изпълнение на вашия проект; Метод 1: Отидете в папката на вашия проект, щракнете върху ios, отворете xcodeproj, щракнете върху бутона за стартиране в Xcode IDE; Метод 2: Отидете в папката на вашия проект в терминал, въведете „react-native run-ios“ и poof, това е направено.

Последна стъпка: Пуснете симулатор

Успех! Работи перфектно! Супер!

Можете да опитате да активирате горещо презареждане, да промените някакъв код и да видите дали той се променя.

След това всичко трябва да работи като чар!

Ура! (Не забравяйте, команден клавиш == ключ на Windows)

Не съм се опитвал да ги пускам на физически устройства, но на теория ви трябва просто преминаване през USB и Xcode или iTunes трябва да могат да разпознаят вашите устройства.

Нека не говорим за законността между тях, мисля, че този Hackintosh е доста фантастичен хак, за да получите разработка на iOS в Windows, без да купувате надценени Mac Pro / MacBook Pro.

Някои дори могат да инсталират действително разпределение на Hackintosh в голи метални хардуер като в тези ултрабуци, Dell XPS 15 или ZenBook, по този начин може да се постигне същото, но е по-опасно и сте загубили Windows среда (освен ако не сте активирали двойна зареждане - Повечето от нас не го правят).

Очаквам с нетърпение да видя екипа на RN да пусне нов инструментариум за Mac / Windows разработчици, за да получи по-добро изживяване при разработване, докато все още използва най-удобните наши инструменти. Казват, че това е интересна идея и чака PR.

Съмнявам се, че това е моят отговор на това. Както и да е, благодаря, че прочетохте тази статия (по-скоро като урок). Със сигурност ще бъде някак по-лесно, ако имате щедростта да споделите идеята си, моля, направете го в секцията за коментари, очаквам с нетърпение реакцията ви. Приятен ден с моите хакове!

(Редактиран в 13/1)

Поздравления! Предполагам, че мина доста време откакто написах това. Сега открих съвсем нов свят по отношение на разработването на мобилни приложения в Hackintosh VM. Благодарение на неотдавнашния напредък на React Native и използвайки Expo и връзката само за хост, можем да имаме още по-сладка среда за разработка, така че най-накрая да имате избор на IDE и пакетния сървър, хостван в Windows.

Това ще отмени стъпка 3 в урока, който споменах по-горе. Също така ще ви представя още един трик, за да накарате VM да се потапя изцяло в iOS.

По принцип просто се нуждаете от CRNA и най-новата версия на Expo / React Native (като говорим за 0,52 по време на писане), това е всичко. Ако имате съществуващо приложение за зареждане под CRNA, то може да работи и безотказно.

Много е просто. (Предполагам, че ще използвате Прежда, трябва да е подобна за NPM) Стартирайте CRNA пакета си в Windows, използвайки PowerShell или CMD:

Стартира стартирането на преждата за Windows $ прежда
...
За да видите приложението си с презареждане на живо, насочете приложението Expo към този QR код.
Ще намерите QR скенера в раздела Проекти на приложението.

Или въведете този адрес в лентата за търсене на приложението Expo:
ехр: // <редактирана>: 19000
Вашият телефон ще трябва да бъде в същата локална мрежа като този компютър.
За връзки за инсталиране на приложението Expo, моля, посетете https://expo.io.
Тук ще се покажат регистрационни файлове за показване на приложението ви. Натиснете Ctrl + C по всяко време, за да спрете.
›Натиснете a, за да отворите Android устройство или емулатор.
 ›Натиснете q за показване на QR код.
 ›Натиснете r, за да рестартирате пакера, или R, за да рестартирате пакера и изчистете кеша.
 ›Натиснете d, за да превключите режим на развитие. (текущ режим: разработка)

Това ще бъде портът, който използваме.

След това опитайте да намерите адреса на хоста си. (Различните машини имат различен IP, YMMV)

OSXVM $ ifconfig
...
bg: flags = 8863  mtu 1500
опции = б 
етер 00: 0c: 29: a1: d7: 8e
inet6 fe80 :: cfe: e149: 421e: 601a% en0 префикслен 64 защитен обхват 0x4
inet 192.168.67.128 netmask 0xffffff00 излъчване 192.168.67.255
nd6 опции = 201 
медия: автоматичен избор (1000baseT )
статус: активен

За мен това е адресът на хоста. Но трябва да изхвърлите последния байт и да добавите 1.

Така че хостът IP тук е 192.168.67.1. Направете забележка първо.

След това ще активираме тайния сос, направен от инженерите на Apple.

Започвайки от XCode 9, създавайки проста директория в корена на вашия Mac HD, можете да получите достъп до вътрешното меню на iOS Simulator. По-старите версии нямат тази функция AFAIK.

Затворете първо всички симулатори. След това просто въведете това в терминала си.

OSXVM $ sudo mkdir / AppleInternal
(Твоята парола)

Това е! Сега проверете дали присъства вътрешното меню, като стартирате симулатор и потърсете това:

Всъщност това е универсално и за реалните Macs! За информация от това вътрешно меню, вижте тази статия на средно ниво. Но ние сме по-фокусирани върху режима на цял екран, което всъщност е причината да можете да внесете своя XCode заедно със симулатора в нов виртуален десктоп:

Ако имате някакъв проблем с разрешението, добре, особено потребители на High Sierra, ще трябва да създадете тази папка в режим на възстановяване. Просто щракнете върху Utility и Terminal, но ще трябва да преместите вашия Main Mac HD, той също ще се получи.

Сега ще продължим да инсталираме Expo Client в (която и да е от) симулаторна среда.

Тази стъпка е много тривиална, затова ви препоръчвам да прочетете това от официалния документ на Expo:

След като инсталирате приложението Expo, отворете го в симулатора.

След това кликнете върху „Плюс“ и въведете адреса на хоста си, но първо трябва да го форматираме до това, което може да разпознае expo:

Форматът е:

exp: // : <Порт на хоста>

Така че за мен това е: „exp: //192.168.67.1: 19000“

Кликнете върху отворена и ако видите, че пакетът е изграден в Windows Windows Dev PC, след това ПОЗДРАВЛЕНИЯ, ще можете да си създадете среда за симулатор на приложение. HMR обаче не е включен, но по подразбиране е Live Reload. Ако имате нужда от това, отидете на хардуер-> разклатете жеста и го променете.

Последната стъпка е да активирате режима на цял екран, за да го направите по-потапящ. Ако щракнете върху елемент от вътрешното меню лесно и тривиално за вас, тогава просто кликнете върху зеления бутон на цял екран.

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

И това е! Можете дори да накарате Genymotion да работи заедно! Това е много голям тласък на производителността!

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

Това е краят на актуализацията. Дано сте щастливи в пътуването! Expo наистина е мощен инструмент и трябва да го ценим. Няма такова нещо като безплатен обяд. Моля, помислете за дарения за проекта Expo. Те са нетърпеливи да поддържат проекта и да плащат своя (изграждащ) сървър! (За съжаление те все още не предлагат метод за това)

И моля ви, Apple, не кажете на адвоката си да се свърже с мен и да ме вкара в правни проблеми.