Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Feature Request] Explore feasibility for building Expo / React Native iOS apps on Linux

Abierto
#364 0 comentarios 6 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
20/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Activo
Stack tecnológico
linux, react-native, swift
Área
mobile

Línea de trabajo

Start by reading xtool’s SwiftPM build and Darwin SDK toolchain documentation or entry points; the issue names no specific files or tests. Assess whether its current pipeline can accommodate React Native’s CocoaPods, CMake, C++, and Objective-C dependencies alongside Expo’s iOS workflow. Done means documenting feasibility, architectural blockers, and a viable starting approach; this is exploratory design work.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement
Feature Description

Explore the feasibility of using xtool to compile and deploy Expo / React Native iOS projects directly from Linux (and WSL).

Background & Motivation

xtool provides an incredible workflow for compiling SwiftPM-based iOS applications on Linux without full Xcode. Meanwhile, Expo / React Native is the most widely adopted cross-platform framework in the JavaScript/TypeScript ecosystem.

Currently, building an Expo iOS application requires either physical Apple hardware or paid macOS runners in cloud CI/CD environments (e.g., EAS Build, GitHub Actions macOS runners). Being able to leverage xtool to produce iOS binaries for Expo apps on Linux would be a monumental milestone for cross-platform development.

Key Advantages of Supporting Expo / React Native
  1. True Cross-Platform Native Mobile Development on Linux:

    • Linux and WSL developers could build, sign, and install real iOS development builds onto physical iPhones connected via USB (xtool dev) without ever needing a Mac.
    • Unlike hybrid/webview wrappers (e.g. WKWebView / Capacitor), this delivers 100% native UI performance running React Native's New Architecture (Fabric, TurboModules, Hermes).
  2. Massive Cost and Time Reduction in CI/CD:

    • Cloud macOS runners are significantly more expensive and often suffer from long queue times compared to Linux runners.
    • Enabling standard Linux CI workers (Docker containers, GitHub Actions Linux runners, self-hosted Linux nodes) to build iOS test builds would drastically cut infrastructure costs for individuals and enterprise teams.
  3. Bridging the Local Development Loop (Fast Refresh):

    • Developers could pair a locally running Expo Metro bundler on Linux with a native iOS client built via xtool, unlocking hot reloading and rapid UI iteration for non-macOS users.
  4. Massive Community & Ecosystem Expansion for xtool:

    • The React Native and Expo communities comprise hundreds of thousands of developers. Adding support for this workflow would establish xtool as an essential, industry-standard toolchain across the broader web and mobile engineering landscape.
Technical Challenges & Considerations

We recognize that compiling React Native for iOS is significantly more complex than standard SwiftPM packages:

  • Mixed-Language Pipeline: React Native heavily relies on C++, Objective-C, and Swift (Hermes JS engine, React Common, Folly/glog, TurboModules).
  • Dependency & Build Systems: Historically, React Native iOS uses CocoaPods and CMake / Xcode build phases (.xcworkspace), whereas xtool focuses on SwiftPM and the Darwin SDK toolchain.
  • SwiftPM in React Native: The React Native community is actively exploring SwiftPM integrations to modernize iOS builds.
Questions for Maintainers
  1. Is supporting mixed C++/Objective-C build targets or bridging into React Native’s prebuild artifact pipeline on your long-term roadmap?
  2. How does the team envision xtool handling external non-SwiftPM build systems (or could an experimental SwiftPM-based React Native template be a viable starting point)?
  3. Are there architectural blockers in xtool's current Darwin SDK extraction/toolchain that would make compiling C++/Hermes on Linux prohibitive?

Thank you for your fantastic work on xtool!

Lenguaje dominante
Swift
Estrellas
5.5k
Forks
163
Merge medio
19 h 33 min
PR fusionados (30 d)
25

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de xtool-org/xtool

Todos los issues de xtool-org/xtool

Issues similares

Más issues de Swift

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.