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

Привет Средний! Так что это моя первая история, но я бы хотел сразу перейти к игре.

Я немного разочарован, мне нужен физический Mac и iPhone для разработки iOS React Native.

Я имею в виду, у меня есть MacBook и iPhone, у меня есть. И мне пришлось поделиться своим репо с моим MacBook, а затем запустить мой React Native Builder и React Native Packager, который является довольно многословным и неубедительным. Бу.

Кроме того, я хочу работать на рабочей станции… у меня есть рабочая станция Xeon, и грустно, что мне пришлось попрощаться с клавиатурой и мышью, а значит, и с производительностью.

Даже Xamarin предложил удаленный симулятор iOS и агент сборки, чтобы мы могли наслаждаться разработкой на нашем главном ПК, а затем запускать сборку в нашей удаленной среде Mac. И я сомневаюсь, что у команды RN будет бриз, чтобы это произошло.

Поэтому я сжал часть своих умственных способностей и, наконец, нашел решение, которое очень, очень странно, безумно и лениво. И вот вопросы, о которых я подумал:

Хорошо 1: Он работает универсально на любых x86_64 битных ПК с включенной виртуализацией, если вы четко выполнили все шаги.

Добро 2: Вы можете легко избавиться от окружающей среды. Вы также можете клонировать среду и переместить ее в другое место.

Плохое 1: Это, Просто, Работает!

Плохое 2: Я не рекомендую вам запускать любые другие программы для Mac, кроме XCode.

Плохое 3: не ожидайте, что процессоры AMD будут сильно работать из-за этого.

The Ugly 1: Вам нужен очень громоздкий, чудовищный ПК для этого, чтобы получить лишь небольшую часть производительности на реальном Mac.

Ugly 2: Нет аппаратного ускорения, поэтому не ожидайте запуска и отладки с ним контекста OpenGL ES.

Если вы настоящий мужчина, приобретите Mac. Иначе теперь мы откроем для себя путешествие в Хак-ин-Шу!

(Предупреждение. Практика использования Hackintosh является нарушением лицензионного соглашения на программное и аппаратное обеспечение 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, которой нет у большинства из нас, нам придется продолжить загрузку 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 и просто в меню выберите «Создать новую виртуальную машину».

Затем выберите файл образа установочного диска, который вы только что передали.

Затем нам нужно выбрать «Apple Mac OS X» и выбрать подходящую версию. Вот, например, я использую macOS Sierra, так что это был «macOS 10.12», если вы используете El Capitan или Yosemite, получите правильную версию.

Пройдите все эти варианты. Не забудьте настроить виртуальную машину, я изменил количество ядер, но большую часть времени это было нормально для массы.

Шаг 5: Модификация файла .vmx

Нам нужно обойти ограничение, наложенное VMWare, которое я упомянул на шаге 3. Нам нужно будет добавить запись в файл конфигурации виртуальной машины. Или вы столкнетесь с дампом ядра во время запуска виртуальной машины.

По умолчанию он находится в ‘~ / Documents / Virtual Machine / <Вставить имя виртуальной машины> / <Вставить имя виртуальной машины> .vmx’, если вы не изменили местоположение.

Откройте его и добавьте следующий текст в самый конец файла:

smc.version = «0»

Шаг 6: Запусти меня

Уфф, какая тяжелая работа здесь. Теперь пришло время запустить установку.

Там не должно быть никаких проблем. Вы должны увидеть шикарный логотип 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 Tools. Размонтируйте диск 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 и Node (и пряжу и RN)

Нажмите на ссылку выше, чтобы сначала получить команду.

Ну, это должно быть легко. Учитывая, что вы установили VMWare Tools, по умолчанию буфер обмена является двунаправленным, поэтому вы можете скопировать его на свою сторону Windows и сбросить на сторону Mac.

Откройте терминал и вставьте команду, данную Brew. Введите свой пароль, чтобы разрешить установку. Все будет автоматизировано и должно быть менее чем за 10 минут.

Возьмем для примера: https://puu.sh/w4atb/acbf000b84.webm

(Нажмите WinKey + Пробел, чтобы открыть поиск Spotlight, Нажмите WinKey + V, чтобы вставить)

Установка Node и NPM:

$ brew install nodejs

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

Установка пряжи:

$ brew установить пряжу

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

Установите RN:

$ npm -g установитьact-native-cli

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

Шаг 3: Получить на свой проект

В настоящее время я не скопировал свой исходный репозиторий, но вместо этого создал новый проект RN. Если вы перенесли свой проект, у вас все настроено идеально.

У вас есть два способа запустить ваш проект; Метод 1: Перейдите в папку вашего проекта, нажмите ios, откройте xcodeproj, нажмите кнопку запуска в Xcode IDE; Способ 2: Перейдите в папку вашего проекта в терминале, введите «response-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. Благодаря недавнему усовершенствованию React Native и использованию Expo и соединения только с хостом, мы можем создать еще более приятную среду разработки, чтобы вы, наконец, смогли выбрать свой IDE и комплектный сервер, размещенный в Windows.

Это переопределит Шаг 3 в руководстве, которое я упомянул выше. Я также собираюсь представить вам еще один трюк, чтобы сделать виртуальную машину полностью погруженной в разработку iOS.

По сути, вам просто нужны CRNA и последняя версия Expo / React Native (говоря о 0.52 на момент написания), вот и все. Если у вас есть существующее приложение, загруженное под CRNA, оно также может работать без нареканий.

Это очень просто. (Я предполагаю, что вы будете использовать Yarn, должно быть похоже на NPM) Запустите ваш упаковщик CRNA в Windows, используя PowerShell или CMD:

Windows $ пряжи запускается
...
Чтобы просмотреть приложение в режиме реального времени, укажите приложение Expo на этот QR-код.
Вы найдете QR-сканер на вкладке Projects приложения.

Или введите этот адрес в строке поиска приложения Expo:
ехр: // <УДАЛЕНО>: 19000
Ваш телефон должен быть в той же локальной сети, что и этот компьютер.
Для получения ссылок на установку приложения Expo, пожалуйста, посетите https://expo.io.
Журналы от обслуживания вашего приложения появятся здесь. Нажмите Ctrl + C в любое время, чтобы остановить.
›Нажмите a, чтобы открыть устройство Android или эмулятор.
 ›Нажмите q, чтобы отобразить QR-код.
 ›Нажмите r, чтобы перезапустить упаковщик, или R, чтобы перезапустить упаковщик и очистить кэш.
 ›Нажмите d, чтобы переключить режим разработки. (текущий режим: разработка)

Это будет порт, который мы используем.

Затем попробуйте найти адрес своего хоста. (Разные машины имеют разные IP, YMMV)

OSXVM $ ifconfig
...
en0: flags = 8863  mtu 1500
Параметры = Ь 
эфир 00: 0с: 29: а1: д7: 8е
inet6 fe80 :: cfe: e149: 421e: 601a% en0 с префиксом 64 защищенный scopeid 0x4
инет 192.168.67.128 маска сети 0xffffff00 широковещательная 192.168.67.255
nd6 options = 201 
media: autoselect (1000baseT <полный дуплекс>)
статус: активный

Для меня это адрес хоста. Но вам нужно сбросить последний байт и добавить 1.

Таким образом, IP-адрес хоста здесь 192.168.67.1. Запишите это в первую очередь.

Затем мы активируем секретный соус, приготовленный инженерами Apple.

Начиная с XCode 9, создав простой каталог в корне вашего Mac HD, вы можете получить доступ к внутреннему меню симулятора iOS. Старые версии не имеют этой функции AFAIK.

Сначала закройте все ваши тренажеры. Затем просто введите это в свой терминал.

OSXVM $ sudo mkdir / AppleInternal
(Ваш пароль)

Это оно! Теперь проверьте, присутствует ли внутреннее меню, запустив симулятор, и поищите это:

На самом деле, это универсально для настоящих Mac! Для информации этого внутреннего меню, проверьте эту Среднюю статью вне. Но мы больше ориентируемся на полноэкранный режим, и именно поэтому вы можете использовать свой XCode вместе с симулятором на новом виртуальном рабочем столе:

Если у вас возникли какие-либо проблемы с разрешениями, особенно для пользователей с высоким уровнем Sierra, вам необходимо создать эту папку в режиме восстановления. Просто нажмите «Утилиты и Терминал», но вам нужно будет переместить ваш Main Mac HD, он тоже сработает.

Теперь мы приступим к установке Expo Client в (любой из) среде симулятора.

Этот шаг очень тривиален, поэтому я рекомендую вам прочитать это из официального документа Экспо:

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

Затем нажмите «Плюс» и введите адрес своего хоста, но сначала нам нужно отформатировать его так, чтобы экспозиция могла его распознать:

Формат такой:

exp: // : <порт хоста>

Так что для меня это: «exp: //192.168.67.1: 19000»

Нажмите «Открыть», и если вы увидите, что пакет собирается на стороне Windows Dev для ПК, тогда ПОЗДРАВЛЯЕМ, вы сможете сами создать среду симулятора приложений. Однако HMR не включен, но по умолчанию является Live Reload. Если вам это нужно, зайдите в Hardware-> Shake Gesture и измените его.

Последний шаг - активировать полноэкранный режим, чтобы сделать его более захватывающим. Если щелкнуть элемент во внутреннем меню легко и тривиально, просто нажмите зеленую полноэкранную кнопку.

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

И это все! Вы можете даже иметь Genymotion работать вместе! Это очень большое повышение производительности!

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

Это конец обновления. Надеюсь, вы счастливы в путешествии! Экспо действительно мощный инструмент, и мы должны беречь его. Там нет такого понятия, как бесплатный обед. Пожалуйста, рассмотрите пожертвования на проект Экспо. Они хотят денег, чтобы поддержать проект и оплатить свой (построить) сервер! (К сожалению, они не предложили никакого способа сделать это еще)

И, пожалуйста, Apple, не говори своему адвокату, чтобы он связался со мной и вовлек меня в проблемы с законом.