Files
nxnative-easy/README-es.md
T

42 KiB
Raw Blame History

nxnative Easy

English · Español

Ejecuta tus propios juegos compatibles de Nintendo Switch de forma nativa en Mac, iPhone y iPad, con gráficos Metal, controles físicos y controles táctiles editables.

Empieza aquí

Primero: instala Xcode completo desde App Store y ábrelo una vez. Xcode también compila los juegos; una interfaz ya compilada no elimina ese requisito.

Después: pega este único comando en Terminal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/nalancer08/nxnative-easy/main/install.sh)"

Descarga nxnative Easy, instala Homebrew y las herramientas que falten, compila tu interfaz de Mac y la abre. Sigue las cuatro etapas numeradas y las solicitudes de contraseña o confirmación que aparezcan en Terminal. No usa una cuenta de desarrollador Apple. Si repites la instalación, verifica la app nueva antes de sustituir la existente y guarda la anterior como respaldo.

¿Ya descargaste el repositorio? Abre START-HERE.command en la carpeta principal con doble clic. Hace la misma preparación; no necesitas buscar scripts dentro de scripts/. Si macOS bloquea ese archivo, usa el comando de arriba.

Cuando abra la app:

  1. Elige iPhone / iPad o Mac.
  2. Selecciona la carpeta de tu juego y la carpeta de tus llaves.
  3. Pulsa Preparar juego.

Las siguientes veces: abre nxnative Easy.app en la carpeta Aplicaciones de tu usuario. La preparación conserva su propia copia del código; puedes borrar el ZIP y la carpeta que descargaste.

Mac: crea una sola .app completa, con todos los datos del juego dentro; pulsa Abrir juego. No necesitas copiar una carpeta RomFS aparte. No necesitas Sideloadly ni un iPhone. Las partidas quedan en ~/Library/Application Support/nxnative/<title ID>/.

iPhone / iPad: crea una IPA ligera sin firmar. Pulsa Instalar en iPhone / iPad para firmarla, instalarla y copiar los datos desde nuestra app. El flujo nativo es experimental; Sideloadly sigue disponible como alternativa probada. Ver pantalla de preparación para iPhone/iPad.

Necesitas: Mac con Apple silicon (M1 o posterior), macOS 26+ y Xcode 26+. El comando instala las otras herramientas. Los juegos y las llaves los aportas tú. La primera compilación puede tardar.

Nuestra app para preparar juegos

Qué aporta esta versión

Partimos de seedds/nxnative: el motor, los perfiles y la compatibilidad son trabajo del proyecto original. nxnative Easy añade:

  • App para Mac: preparación del juego, avance, cancelación e instalador integrado con gestión de juegos y dispositivos.
  • Controles editables en iPhone: posición, tamaño y opacidad, guardados por juego y layout.
  • IPA ligera sólo para iPhone/iPad: los datos romfs van aparte; se conservan salidas y cachés válidas.
  • Llaves del usuario: debes seleccionar la carpeta de tus propias prod.keys. No incluimos, descargamos ni distribuimos llaves o juegos.
  • Preparación local: sin cuenta Apple, sin certificados de empresa y sin servicio que reciba tus archivos.

Entregamos código, una interfaz de preparación y herramientas de compilación. El resultado es una app local para Mac o una IPA para iPhone/iPad sin firmar, que firmas e instalas con tu cuenta mediante el instalador integrado experimental o Sideloadly. No ofrecemos juegos, llaves, firma de Apple ni compatibilidad garantizada con cualquier juego.

Actualizaciones del motor y multijugador

Nuestro main incorpora la revisión del original registrada en el informe de integración. Las siguientes actualizaciones del motor se integran y prueban en una copia separada, conservando nuestra interfaz y controles. Cada juego aceptado se sincroniza en la app, imágenes, fichas y ambas galerías del README; CI comprueba que no falte ninguno. Actualizar ahora instala nuestras versiones probadas, no cambios del original sin revisar.

El motor actual funciona sin conexión. No admite los servicios en línea de Nintendo, LAN/netplay ni Windows. Una suscripción a Nintendo Switch Online no los activa aquí. Usar varios controles en un mismo Mac es una función distinta. Cómo funcionan el código, los mods y la red.

Idioma

La app inicia en English. Cambia a Español con el selector de la esquina superior; la elección se guarda en este Mac. Cambia el idioma de la interfaz, no el del juego. Los detalles técnicos se muestran en su idioma original.

Actualizar la app

Desde la versión 1.4, la app busca versiones nuevas al abrirse y cada seis horas mientras está abierta. Cuando haya una, pulsa Actualizar ahora. Descarga el código y los perfiles nuevos, compila y verifica la interfaz y la reinicia. Verás el avance dentro de la ventana. También puedes usar nxnative Easy → Buscar actualizaciones….

La actualización usa una carpeta separada y guarda la app anterior como respaldo. No restablece tu checkout ni modifica tus juegos, llaves o partidas. No se puede actualizar mientras se prepara un juego. Para aplicar cambios del motor o de un perfil a un juego que ya habías preparado, vuelve a prepararlo.

Aviso de actualización dentro de la app

¿Tienes la versión 1.3 o anterior? Ejecuta una vez el comando de arriba o abre START-HERE.command. Las siguientes actualizaciones ya aparecerán dentro de la app.

¿Qué pasa al pulsar Preparar juego?

La app prepara las herramientas y compila para el dispositivo que elegiste. Mac genera una app del juego con los botones Abrir juego y Mostrar app. iPhone / iPad genera una IPA ligera y ofrece Instalar en iPhone / iPad, incluyendo la copia de datos. Tus archivos y salidas anteriores se conservan en la carpeta del juego.

La preparación conserva una copia separada del código y respeta los cambios locales. Para desarrollo sigue disponible scripts/Abrir-interfaz.command.

Cómo se compila la app de Mac

El acceso de apertura usa el compilador Swift de tu Xcode. La firma de la app es ad hoc, local y sin cuenta, certificado ni equipo Apple (TeamIdentifier no asignado). No usa cuentas de empresa. Sólo al firmar e instalar la IPA de iPhone/iPad introduces tu cuenta personal en el instalador integrado, o en Sideloadly si eliges esa alternativa.

El icono del teléfono con controles es original. Las tarjetas usan las capturas de upstream que ya están en este repositorio como referencia de soporte; no proporcionan ni descargan juegos.

Instalar y renovar desde la app (experimental)

La versión 1.8 agrega Instalar en iPhone / iPad: inicio de sesión y 2FA de tu cuenta Apple, selección explícita del equipo y app existente, firma/instalación nativa ARM64, copia de romfs y renovación opcional antes de que caduque el perfil. Este flujo usa un motor abierto y no necesita la app de Sideloadly. Todavía falta validarlo con una cuenta y dispositivo reales; conservamos la alternativa con Sideloadly que ya funciona. La contraseña no se guarda; la sesión opcional y las claves de firma usan el Llavero de macOS.

La renovación necesita el Mac encendido, nxnative Easy abierto, Internet y el dispositivo emparejado accesible. Conserva la IPA original. Puedes optar por abrir nxnative Easy al iniciar sesión. Qué está implementado y qué falta validar.

Tus partidas en la pantalla de resultado explica dónde están: save y, en ciertos juegos, save_device. En Mac están fuera de la .app; en iPhone/iPad, dentro de cada juego en ese dispositivo. No son romfs, ni los perfiles de controles, ni los archivos JSON de preparación. Guía detallada de partidas y respaldos.

Pon tu juego en iPhone o iPad

  1. Elige iPhone/iPad, tu carpeta del juego y tus llaves. Deja IPA ligera o desactívala para incluir todo en la IPA; pulsa Preparar juego. El instalador se abre al terminar correctamente.
  2. Conecta y desbloquea tu dispositivo. Confía en el Mac y activa Modo de desarrollador cuando iOS lo pida.
  3. Inicia sesión con tu cuenta Apple, introduce el código y selecciona tu equipo personal.
  4. Si ya tienes el juego instalado, elige esa app existente para conservar su identidad. Pulsa Firmar y actualizar; no desinstales el juego anterior.
  5. Mantén cerrado el juego hasta que termine la firma, instalación y copia de datos. La renovación opcional recuerda la sesión en el Llavero.

En Mis iPhones y iPads, arriba en la ventana principal, ves los dispositivos conectados (identificador de modelo, sistema y USB/Wi-Fi), las apps instaladas con buscador, el acceso a tu cuenta Apple y las firmas registradas. Actualizar con mis archivos inicia la preparación para una app existente. Pulsa Renovar ahora sin recompilar ni copiar RomFS otra vez; también puedes pausar la renovación por juego. Leer dispositivos de mi cuenta Apple consulta los registros del equipo después de iniciar sesión; es distinto a ver dispositivos conectados. Actividad de instalación muestra avance, tiempo y logs copiables/guardados sin credenciales. Revisar cuenta e instalación recupera su dispositivo, equipo e identificador. Usar sesión del Llavero permite volver a entrar sin escribir la contraseña cuando esa sesión todavía sea válida. Quitar un registro sólo detiene su renovación; no desinstala el juego ni elimina partidas.

Este flujo nativo todavía necesita validación con una cuenta y dispositivo reales. Reemplaza el flujo para nuestros juegos preparados; no es una copia de todas las funciones propietarias de Sideloadly. La alternativa sigue disponible.

Alternativa: Sideloadly + Finder

  1. Con la IPA lista, conecta tu iPhone y pulsa Enviar a Sideloadly. La app abre allí el archivo preparado.
  2. Dentro de Sideloadly pulsa Start con tu cuenta Apple personal. Si hace falta buscar el archivo manualmente, usa Mostrar IPA.
  3. La primera vez, pulsa Mostrar datos del juego y copia la carpeta romfs completa por Finder → iPhone → Archivos → tu juego.

Para actualizar, usa la misma cuenta y el mismo bundle ID efectivo de Sideloadly. Instala encima; no desinstales la app, para conservar tus partidas. Si los datos del juego no cambiaron, puedes reutilizar el romfs existente. En esta alternativa la firma se hace en Sideloadly y la copia en Finder; el instalador integrado realiza esas operaciones desde nuestra app.

Actualizar un juego preparado

Añade tus propios archivos de actualización a la misma carpeta del juego y prepáralo de nuevo. La app reconoce la preparación anterior y explica que será una actualización. La preparación no consulta el iPhone; el instalador sí puede listar las apps del dispositivo conectado. Una versión nueva del juego sigue necesitando soporte compatible del motor y su perfil.

  • Mac: se crea otra .app completa y se conserva la anterior. Cierra el juego viejo y abre la nueva. Se mantienen el Title ID y la identidad de la app; las partidas siguen fuera de ella, en Application Support.
  • iPhone / iPad: instala la IPA encima usando la misma cuenta e identificador efectivo. El instalador integrado copia el RomFS nuevo mediante preparación temporal y recuperación; con la alternativa de Sideloadly, usa Finder. Conserva save, save_device y la app instalada; no los borres.

Durante la preparación puedes ver la etapa, contadores reales cuando existen, tiempo transcurrido y el log en vivo. Mostrar logs guardados abre el registro de la sesión y Mostrar logs del compilador muestra los originales completos.

El análisis opcional está en Herramientas de análisis → Analizar con REA. Exporta código original para un motor de análisis instalado; no hace compatibles los juegos automáticamente. Flujo y requisitos de análisis.

Perfiles de juegos con soporte

El carrusel muestra los perfiles de esta copia; no proporciona ni descarga juegos. Debes añadir tus propios archivos del juego. Pulsa Ver todos arriba a la derecha para consultar la lista completa de soporte. Busca por nombre, versión o Title ID; cada resultado enlaza a su ficha. El catálogo vuelve a leer los perfiles locales cada vez que lo abres. El carrusel rota automáticamente y se pausa al colocar el cursor encima.

Las pruebas propias cubren compilación y empaquetado en Mac, no una verificación automática de juego en iPhone. Los perfiles y reportes de juego proceden de upstream; revisa la ficha de tu juego antes de prepararlo. Un perfil no garantiza que cualquier versión funcione en cualquier iPhone.

Esta base requiere iOS/iPadOS 26 o posterior, iPhone con A17 Pro o posterior o iPad con M1 o posterior. Los datos de los juegos y las llaves los aportas tú.

78 perfiles. Consulta la ficha de cada juego para ver versiones y dispositivos probados.

13 Sentinels: Aegis Rim
13 Sentinels: Aegis Rim
~5 GB
13 Sentinels: Aegis Rim (Asia)
13 Sentinels: Aegis Rim (Asia)
~5 GB
Absolum
Absolum
~2 GB
Ace Attorney Investigations Collection
Ace Attorney Investigations Collection
~7 GB
Advance Wars 1+2: Re-Boot Camp
Advance Wars 1+2: Re-Boot Camp
~7.1 GB
AI: THE SOMNIUM FILES
AI: THE SOMNIUM FILES
~8.3 GB
AI: THE SOMNIUM FILES - nirvanA Initiative
AI: THE SOMNIUM FILES - nirvanA Initiative
~11.6 GB
Animal Crossing: New Horizons
Animal Crossing: New Horizons
~10.5 GB
ANIMAL WELL
ANIMAL WELL
~54 MB
ASTRAL CHAIN
ASTRAL CHAIN
~9.7 GB · 60 fps target with 1.0.1
Balatro
Balatro
~82 MB · played by touch
BALL x PIT
BALL x PIT
~1.1 GB
Bayonetta
Bayonetta
~8.8 GB
Bayonetta 2
Bayonetta 2
~12.5 GB
Bayonetta 3
Bayonetta 3
~14.2 GB
Big Brain Academy: Brain vs. Brain
Big Brain Academy: Brain vs. Brain
~0.8 GB
Brain Memory Training Academy
Brain Memory Training Academy
~0.1 GB
Captain Toad: Treasure Tracker
Captain Toad: Treasure Tracker
~2 GB
Catherine: Full Body
Catherine: Full Body
~14 GB
Celeste
Celeste
~0.9 GB
Cuphead
Cuphead
~5 GB
DARK SOULS: REMASTERED
DARK SOULS: REMASTERED
~4 GB · 60 fps with 1.0.3
Digimon Story Cyber Sleuth: Complete Edition
Digimon Story Cyber Sleuth: Complete Edition
~5 GB
Donkey Kong Country Returns HD
Donkey Kong Country Returns HD
~11.6 GB
Donkey Kong Country: Tropical Freeze
Donkey Kong Country: Tropical Freeze
~7.3 GB
DRAGON QUEST VII Reimagined
DRAGON QUEST VII Reimagined
~5.9 GB
DRAGON QUEST XI S: Echoes of an Elusive Age – Definitive Edition
DRAGON QUEST XI S: Echoes of an Elusive Age – Definitive Edition
~15 GB · 60 fps with 1.0.4
FINAL FANTASY RESONANCE
FINAL FANTASY RESONANCE
~10 GB · 60 fps with 1.0.1
FINAL FANTASY TACTICS - The Ivalice Chronicles
FINAL FANTASY TACTICS - The Ivalice Chronicles
~11 GB
Fire Emblem Engage
Fire Emblem Engage
~15 GB · 60 fps with 2.0.0
Fire Emblem: Three Houses
Fire Emblem: Three Houses
~13 GB · 60 fps with 1.2.0
Ghost Trick: Phantom Detective
Ghost Trick: Phantom Detective
~3 GB
Hades
Hades
~4 GB
Hades II
Hades II
~4 GB
Hollow Knight: Silksong
Hollow Knight: Silksong
~6.4 GB
Hyrule Warriors: Age of Calamity
Hyrule Warriors: Age of Calamity
~15 GB · 60 fps with 1.3.0
Kirby and the Forgotten Land
Kirby and the Forgotten Land
~6.4 GB
Luigi's Mansion 3
Luigi's Mansion 3
~7.5 GB · 60 fps with 1.4.0
Mario Kart 8 Deluxe
Mario Kart 8 Deluxe
~11.9 GB · no Mii heads
Mario + Rabbids® Sparks of Hope
Mario + Rabbids® Sparks of Hope
~9.8 GB
Mario vs. Donkey Kong
Mario vs. Donkey Kong
~1.6 GB
Metroid Dread
Metroid Dread
~5 GB
Monster Hunter Rise
Monster Hunter Rise
~22 GB · 60 fps with 16.0.2
Monster Train 2
Monster Train 2
~1.6 GB · 60 fps with 1.1.1
NieR:Automata The End of YoRHa Edition
NieR:Automata The End of YoRHa Edition
~10.9 GB · 60 fps with 1.0.3
OCTOPATH TRAVELER
OCTOPATH TRAVELER
~3.6 GB
OCTOPATH TRAVELER 0
OCTOPATH TRAVELER 0
~4 GB · 60 fps with 1.0.5
OCTOPATH TRAVELER II
OCTOPATH TRAVELER II
~5.9 GB · 60 fps with 1.1.1
Paper Mario: The Thousand-Year Door
Paper Mario: The Thousand-Year Door
~5 GB · 60 fps with 1.0.1
Patrick's Parabox
Patrick's Parabox
~0.2 GB
Persona 5 Royal
Persona 5 Royal
~14.9 GB
Pikmin 4
Pikmin 4
~10.8 GB
Pokémon Brilliant Diamond
Pokémon Brilliant Diamond
~4.6 GB · 60 fps with 1.3.0
Pokémon Legends: Z-A
Pokémon Legends: Z-A
~6 GB
Pokémon Shield
Pokémon Shield
~12.4 GB
Pokémon Sword
Pokémon Sword
~12.4 GB
Portal
Portal
~2.6 GB
Raging Loop
Raging Loop
~0.9 GB
Rhythm Heaven Groove
Rhythm Heaven Groove
~3 GB
ROMANCE OF THE THREE KINGDOMS 8 REMAKE
ROMANCE OF THE THREE KINGDOMS 8 REMAKE
~16.8 GB · controller only
Sea of Stars
Sea of Stars
~5.1 GB
SHIN MEGAMI TENSEI V: Vengeance
SHIN MEGAMI TENSEI V: Vengeance
~14.6 GB · 60 fps with 1.0.3
Stardew Valley
Stardew Valley
~0.6 GB
STEINS;GATE RE:BOOT
STEINS;GATE RE:BOOT
~6 GB
Super Mario 3D World + Bowser's Fury
Super Mario 3D World + Bowser's Fury
~3 GB
Super Mario Bros. Wonder
Super Mario Bros. Wonder
~4 GB
Super Mario Galaxy
Super Mario Galaxy
~3 GB
Super Mario Galaxy 2
Super Mario Galaxy 2
~3 GB
Super Mario Odyssey
Super Mario Odyssey
~6 GB
Super Smash Bros. Ultimate
Super Smash Bros. Ultimate
~17.5 GB · offline
Taiko Risshiden V DX
Taiko Risshiden V DX
~3.3 GB · Japanese · played by touch
The Great Ace Attorney Chronicles
The Great Ace Attorney Chronicles
~4 GB
The Legend of Zelda: Breath of the Wild
The Legend of Zelda: Breath of the Wild
~16 GB · 60 fps with 1.9.0
The Legend of Zelda: Echoes of Wisdom
The Legend of Zelda: Echoes of Wisdom
~7.8 GB
The Legend of Zelda: Link's Awakening
The Legend of Zelda: Link's Awakening
~6 GB
The Legend of Zelda: Tears of the Kingdom
The Legend of Zelda: Tears of the Kingdom
~17 GB · 60 fps with 1.4.3
Unicorn Overlord
Unicorn Overlord
~4 GB
Xenoblade Chronicles 3
Xenoblade Chronicles 3
~19.2 GB

Controles Xbox, PS5 y PS4

Los juegos preparados usan GameController de Apple en Mac, iPhone y iPad:

  • Xbox: Xbox Wireless Controller con Bluetooth (modelo 1708), Series X/S y Elite Series 2.
  • PS5: DualSense y DualSense Edge.
  • PS4: DualShock 4.

La app muestra automáticamente el nombre del control conectado y Listo en este Mac cuando Apple reconoce un perfil compatible. Se actualiza al conectar o desconectar el control. El panel de controles del Mac no aparece al elegir iPhone/iPad. Conecta el control directamente al dispositivo donde vas a jugar.

En modo Mac, pulsa Probar control: se iluminan botones y cruceta, se mueven ambos sticks y las barras muestran la presión de los gatillos. ¡Está respondiendo! aparece después de recibir una pulsación o movimiento. Si hay varios controles, puedes elegir cuál probar. La prueba sólo lee entradas mientras está abierta y no reemplaza los manejadores de entrada de los juegos.

Prueba visual del control en Mac

Conecta el control desde Bluetooth del dispositivo y abre tu juego. No necesitas instalar drivers ni activar opciones en la herramienta. Se mapean sticks, cruceta, botones, gatillos, botones superiores, clics de sticks y menús. En iPhone/iPad los controles táctiles se ocultan al conectar uno físico.

Los botones siguen las posiciones de Nintendo, no las letras impresas en Xbox: A de Switch = B de Xbox / círculo de PlayStation; B = A / cruz; X = Y / triángulo; Y = X / cuadrado.

Se admite la entrada estándar del control; no se mapean gatillos adaptativos de DualSense, movimiento del mando ni gestos del panel táctil. La vibración depende de lo que expongan el control y el sistema. En Mac puede haber varios jugadores locales si el juego lo permite; en iPhone/iPad los controles se combinan como jugador 1.

Guías de Apple para conectar Xbox y conectar PlayStation. Revisamos el código y las pruebas automáticas; no hemos probado físicamente estos modelos en este checkout.

Controles a tu gusto

En el juego pulsa Edit controls. Mueve los botones, ajusta tamaño y opacidad y pulsa Save. Cancel descarta y Reset control / Reset all restaura. Cada juego tiene cuatro perfiles con nombre, cada uno con su acomodo 2D y 3D. Usa el menú de perfiles para cambiar o renombrar uno (por ejemplo iPhone, iPad o Grande), y Save as… para copiar ambos acomodos a otro espacio. Se avisa antes de descartar cambios sin guardar o sustituir un perfil. Tu acomodo anterior se conserva en Profile 1. Los perfiles se guardan localmente en cada dispositivo. El juego sigue corriendo mientras editas. El selector de idioma de la app de Mac no traduce este editor dentro del juego.

Prototipo de API para partidas en la nube

Hay una API portable de prueba con versiones privadas de partidas, detección de conflictos y enlaces para compartir con caducidad y revocación. Todavía falta conectar el inicio de sesión, la subida y la restauración dentro del juego; no se ha desplegado un servidor ni creado una cuenta de proveedor. Tus partidas y perfiles de controles siguen en tu dispositivo. Esto es independiente del multijugador en línea.

Guías, comandos y detalles técnicos

Basado en seedds/nxnative, con nuestro editor de controles y automatización. Conservamos la licencia MIT y los créditos originales. Nuestros cambios pertenecen a la cuenta de GitHub nalancer08; los commits históricos de upstream conservan su autoría.