[Unreal Engine] Используем macOS для удалённой сборки Unreal Engine билдов из-под Windows
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Любой пользователь ОС Windows, вставший на увлекательный путь кросс-платформенной разработки, однажды сталкивается с проблемой невозможности сборки «яблочных» билдов из рабочего окружения: для сборки и подписания приложения требуется девайс с macOS.
У нас есть два варианта:
- Неоптимальный: каждый раз бегать к маку, синхронизировать проект и запускать сборку.
- Оптимальный: настроить удалённую сборку на вашем / арендованном / офисном маке.
Именно оптимальный вариант и будет разобран в этой статье, которую я решил написать после того, как неделю промучился с решением вышеуказанной проблемы.
В один момент я почти поверил в то, что никто не использует удалённую сборку, или это что-то элементарное, но именно отсутствие внятной документации и немногочисленные статьи с устаревшей информацией и вынудили меня написать этот материал, который, надеюсь, поможет читателям оптимизировать процесс сборки кросс-платформенных приложений.
Шаг 1: Настроить RSync на macOS девайсе
На этом этапе нам поможет один из вышеупомянутых туториалов с устаревшей информацией, а именно глава RSync.
Далее размещу перевод этой главы:
Rsync — это утилита, которую Unreal Engine использует для передачи и синхронизации файлов между компьютерами.
Перед тем, как начинать настраивать UE4 проект, нам следует настроить RSync на нашем mac девайсе.
Нам нужно создать rsync.plist файл в /Library/LaunchDaemons
Убедитесь, что у файла установлены разрешения rw-r–r– и вставьте в него следующее:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<false/>
<key>Label</key>
<string>rsync</string>
<key>Program</key>
<string>/usr/bin/rsync</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/rsync</string>
<string>--daemon</string>
</array>
<key>inetdCompatibility</key>
<dict>
<key>Wait</key>
<false/>
</dict>
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockServiceName</key>
<string>rsync</string>
<key>SockType</key>
<string>stream</string>
</dict>
</dict>
</dict>
</plist>
Также создайте файл rsyncd.conf в /etc/
Убедитесь, что файл имеет разрешения rw-r–r– и вставьте в него следующее:
[root]
path = /
hosts allow = 192.168.1.0/24
uid = root
gid = wheel
read only = false
comment = Root volume
Hosts — это разделённый запятыми список IP адресов машин, которые могут использовать этот mac в качестве машины для сборки. В данном случае мы указываем все машины из локальной сети, указав 192.168.1.x
Для проверки работоспособности, запустите:
sudo launchctl load /Library/LaunchDaemons/rsync.plist
И, наконец, перезагрузите ваш мак.
От себя добавлю, что иногда Unreal Engine может кидать ошибки «command not found» в процессе сборки. Если вы столкнётесь с этой ошибкой, попробуйте поменять Login shell с zsh на sh. Чтобы сделать это, откройте Users & Groups (пользователи и группы) в настройках системы, нажмите правой кнопкой мыши на вашего пользователя, выберите Advanced Options (дополнительный параметры) и поменяйте Login shell (оболочка входа) на /bin/sh.
Также рекомендую использовать одинаковую версию RSync (по крайней мере, одинаковую мажорную версию) на обоих девайсах.
На вашей Windows машине откройте папку с движком, перейдите в папку DeltaCopy (UE_4.23\Engine\Extras\ThirdPartyNotUE\DeltaCopy\Binaries\) и вызовите по этому пути консольную команду:
./rsync --version
Шаг 2: настройка Windows
- Откройте ваш UE4 проект, Project settings, iOS, вкладку Remote build options
- Проверьте IP адрес мака и укажите его в поле Remote Server Name. Если вы используете перенаправление портов, вы также можете указать необходимый для установления SSH соединения порт в конце IP адреса. По умолчанию это 22
- В поле RSync User Name укажите имя пользователя macOS
- Нажмите Generate SSH и следуете инструкциям
- Установите iTunes. Тут у вас есть два варианта (я выбрал второй):
a. Установите iTunes через магазин Windows. Скорее всего, iTunes не будет работать и вам придётся поэкспериментировать с разрешениями
b. Скачайте установочный файл iTunes в обход магазина Windows. Откройте официальный сайт, пролистайте вниз до «Looking for other versions?», выберите «Windows» и скачайте установочный файл
- Следуйте инструкциям из официальной документации, чтобы сгенерировать provision profile и сертификат
- Откройте Project settings, iOS, вкладка Mobile provision и импортируйте сгенерированные provision profile и сертификат
- Убедитесь, что Bundle ID совпадает с ID, который вы указали при генерации сертификата (шаг 6)
- Если вы сгенерировали сертификат для разработки, а не для распространения (distribution), убедитесь, что значение переменной For Distribution (Project settings, Packaging) установлено на False (в противном случае, при сборке вы получите ошибку «no certificate found»)
- Убедитесь, что в пути проекта нет «странных» знаков (сбоки, пробелы)
- Запустите сборку, выбрав File, Package Project, iOS
Шаг 3: Протестируем сборку
- Когда сборка проекта будет окончена, вы получите .IPA файл по пути, который вы указали перед началом сборки
- Подключите iOS девайс к вашему PC, используя кабель
- Откройте iTunes
- Перетащите .IPA файл на ваш девайс (вкладка devices)
Вот и всё. Теперь вы сможете собирать iOS билды из вашего Windows окружения. Если же у вас до сих пор возникают трудности, пишите — постараюсь помочь.
===========
Источник:
habr.com
===========
Похожие новости:
- [Статистика в IT, Тестирование веб-сервисов, Тестирование мобильных приложений] Выбор мобильных устройств: пошаговая инструкция для начинающих. Часть первая
- [Swift, Машинное обучение, Программирование, Разработка под iOS] Реализуем машинное обучение на iOS устройстве с использованием Core ML, Swift и Neural Engine (перевод)
- [Open source, Swift, Компиляторы, Разработка под iOS] Контрибьютим в Swift
- [Swift, Разработка под iOS] Проектируем работу с iOS подписками: клиентское или серверное хранение продуктов
- [GitHub, JavaScript, Игры и игровые приставки, История IT] Разработчик создал из Mac OS 8 приложение для современных ПК на macOS, Windows и Linux
- [Монетизация игр, Монетизация мобильных приложений, Продвижение игр, Разработка игр] Как конвертировать праздники в прибыль для разработчика и радость для игроков
- [История IT, Компьютерное железо] Boot manager для 486-го компьютера
- [Swift, Разработка под iOS] Новые Property Wrappers в SwiftUI (перевод)
- [Накопители, Нанотехнологии, Производство и разработка электроники] NVMe против UFS 3.1: Битва типов памяти в смартфонах. Разбор
- [Звук, Игры и игровые приставки, Интервью, Разработка игр] Подкаст «Хочу в геймдев» #10
Теги для поиска: #_unreal_engine, #_unreal_engine, #_ios, #_macos, #_windows, #_ue4, #_unreal_engine
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 00:55
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Любой пользователь ОС Windows, вставший на увлекательный путь кросс-платформенной разработки, однажды сталкивается с проблемой невозможности сборки «яблочных» билдов из рабочего окружения: для сборки и подписания приложения требуется девайс с macOS. У нас есть два варианта:
Именно оптимальный вариант и будет разобран в этой статье, которую я решил написать после того, как неделю промучился с решением вышеуказанной проблемы. В один момент я почти поверил в то, что никто не использует удалённую сборку, или это что-то элементарное, но именно отсутствие внятной документации и немногочисленные статьи с устаревшей информацией и вынудили меня написать этот материал, который, надеюсь, поможет читателям оптимизировать процесс сборки кросс-платформенных приложений. Шаг 1: Настроить RSync на macOS девайсе На этом этапе нам поможет один из вышеупомянутых туториалов с устаревшей информацией, а именно глава RSync. Далее размещу перевод этой главы: Rsync — это утилита, которую Unreal Engine использует для передачи и синхронизации файлов между компьютерами. Перед тем, как начинать настраивать UE4 проект, нам следует настроить RSync на нашем mac девайсе. Нам нужно создать rsync.plist файл в /Library/LaunchDaemons Убедитесь, что у файла установлены разрешения rw-r–r– и вставьте в него следующее: <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Disabled</key> <false/> <key>Label</key> <string>rsync</string> <key>Program</key> <string>/usr/bin/rsync</string> <key>ProgramArguments</key> <array> <string>/usr/bin/rsync</string> <string>--daemon</string> </array> <key>inetdCompatibility</key> <dict> <key>Wait</key> <false/> </dict> <key>Sockets</key> <dict> <key>Listeners</key> <dict> <key>SockServiceName</key> <string>rsync</string> <key>SockType</key> <string>stream</string> </dict> </dict> </dict> </plist> Также создайте файл rsyncd.conf в /etc/ Убедитесь, что файл имеет разрешения rw-r–r– и вставьте в него следующее: [root]
path = / hosts allow = 192.168.1.0/24 uid = root gid = wheel read only = false comment = Root volume Hosts — это разделённый запятыми список IP адресов машин, которые могут использовать этот mac в качестве машины для сборки. В данном случае мы указываем все машины из локальной сети, указав 192.168.1.x Для проверки работоспособности, запустите: sudo launchctl load /Library/LaunchDaemons/rsync.plist
И, наконец, перезагрузите ваш мак. От себя добавлю, что иногда Unreal Engine может кидать ошибки «command not found» в процессе сборки. Если вы столкнётесь с этой ошибкой, попробуйте поменять Login shell с zsh на sh. Чтобы сделать это, откройте Users & Groups (пользователи и группы) в настройках системы, нажмите правой кнопкой мыши на вашего пользователя, выберите Advanced Options (дополнительный параметры) и поменяйте Login shell (оболочка входа) на /bin/sh. Также рекомендую использовать одинаковую версию RSync (по крайней мере, одинаковую мажорную версию) на обоих девайсах. На вашей Windows машине откройте папку с движком, перейдите в папку DeltaCopy (UE_4.23\Engine\Extras\ThirdPartyNotUE\DeltaCopy\Binaries\) и вызовите по этому пути консольную команду: ./rsync --version
Шаг 2: настройка Windows
Шаг 3: Протестируем сборку
Вот и всё. Теперь вы сможете собирать iOS билды из вашего Windows окружения. Если же у вас до сих пор возникают трудности, пишите — постараюсь помочь. =========== Источник: habr.com =========== Похожие новости:
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 00:55
Часовой пояс: UTC + 5