Usamos macOS para construir de forma remota compilaciones de Unreal Engine desde Windows

Cualquier usuario de Windows que se haya embarcado en el apasionante camino del desarrollo multiplataforma se enfrenta una vez al problema de la imposibilidad de ensamblar compilaciones "apple" desde el entorno de trabajo: se requiere un dispositivo macOS para compilar y firmar una aplicación.



Tenemos dos opciones:



  1. No óptimo: ejecute en Mac cada vez, sincronice el proyecto e inicie la compilación.
  2. Óptimo: configure una compilación remota en su mac / alquilado / de oficina.


Es la mejor opción que se analizará en este artículo, que decidí escribir después de haber sufrido durante una semana con la solución del problema anterior.



En un momento, casi creí que nadie está usando el ensamblaje remoto, o esto es algo elemental, pero fue la falta de documentación inteligible y algunos artículos con información desactualizada lo que me obligó a escribir este material, que, espero, ayude a los lectores a optimizar el proceso de ensamblaje. aplicaciones multiplataforma.







Paso 1: Configure RSync en su dispositivo macOS



En este punto, nos ayudará uno de los tutoriales mencionados anteriormente con información desactualizada , a saber, el capítulo RSync.



A continuación, publicaré una traducción de este capítulo:



Rsync es una utilidad que usa Unreal Engine para transferir y sincronizar archivos entre computadoras.



Antes de comenzar a configurar un proyecto UE4, debemos configurar RSync en nuestro dispositivo mac.



Necesitamos crear un archivo rsync.plist en / Library / LaunchDaemons.

Asegúrese de que el archivo tenga los permisos rw-r - r– y pegue lo siguiente en él:




<?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>


También cree un archivo rsyncd.conf en / etc /



Asegúrese de que el archivo tenga permisos rw-r - r– y pegue lo siguiente en él:




[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


Finalmente, reinicia tu Mac.



Por mi cuenta, agregaré que a veces Unreal Engine puede arrojar errores de "comando no encontrado" durante el proceso de compilación. Si encuentra este error, intente cambiar el shell de inicio de sesión de zsh a sh . Para hacer esto, abra Usuarios y grupos en Preferencias del sistema, haga clic con el botón derecho en su usuario, seleccione Opciones avanzadas y cambie el shell de inicio de sesión a / bin / sh .



También recomiendo usar la misma versión de RSync (al menos la misma versión principal) en ambos dispositivos.



En su máquina Windows, abra la carpeta con el motor, vaya a la carpeta DeltaCopy (UE_4.23 \ Engine \ Extras \ ThirdPartyNotUE \ DeltaCopy \ Binaries \) y llame al comando de la consola a lo largo de esta ruta:



./rsync --version


Paso 2: configurar Windows



  1. Abra su proyecto UE4, Configuración del proyecto, iOS, pestaña Opciones de compilación remota
  2. Verifique la dirección IP de la amapola e ingrésela en el campo Nombre del servidor remoto . Si está utilizando el reenvío de puertos, también puede especificar el puerto necesario para establecer una conexión SSH al final de la dirección IP. Por defecto es 22
  3. En el campo Nombre de usuario de RSync , ingrese su nombre de usuario de macOS
  4. Haga clic en Generar SSH y siga las instrucciones
  5. iTunes. ( ):

    a. iTunes Windows. , iTunes

    b. iTunes Windows. , «Looking for other versions?», «Windows»

  6. , provision profile
  7. Project settings, iOS, Mobile provision provision profile
  8. , Bundle ID ID, ( 6)
  9. , (distribution), , For Distribution (Project settings, Packaging) False ( , «no certificate found»)
  10. , «» (, )
  11. , File, Package Project, iOS


3:



  1. , .IPA ,
  2. iOS PC,
  3. iTunes
  4. .IPA ( devices)


Eso es todo. Ahora puede crear compilaciones de iOS desde su entorno Windows. Si aún tiene dificultades, escriba: intentaré ayudarlo.



All Articles