Skip to content

swaplab-engine/desktop-ios-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

SwapLab Engine: Desktop iOS Core 🍎

Docker Image Version License Security Scan

💸 100% FREE & UNRESTRICTED No hidden costs. No locked features. No premium tiers. SwapLab Desktop is purely a tool to empower developers.

The transparent, secure, and optimized environment for preparing iOS projects on Linux/Windows/Mac via SwapLab Desktop.

This repository hosts the public Dockerfile used to build the iOS core environment for SwapLab Desktop. We believe in total transparency: you should know exactly what tools (Node.js, Ruby, CocoaPods) are present in the system handling your source code.


⚠️ Critical Requirement

SwapLab Desktop acts solely as a trigger. The build process executes entirely inside Docker containers. SwapLab Desktop will NOT function without Docker Desktop installed and running.


🛡️ Architecture: Transparency vs. Logic

To ensure both Community Trust (Transparency) and Operational Integrity (Security), our architecture is split into two distinct layers. Both are publicly available for use:

Layer Image Name Status Description
1. Base Core swaplab-engine/desktop-ios-core Open Source (This Repo) Contains the raw environment: OS, Ruby, Node.js, and CLI tools. Open for security auditing. You can verify that the environment is clean and standard.
2. Build Engine swaplab-desktop-ios-engine Public Package This is the final executable image used by the Desktop App. It is built on top of this Base Core but includes our Proprietary Automation Logic to manage the complex build process seamlessly.

Official Packages:
🍎 View iOS Engine on GHCR
🤖 View Android Engine on GHCR

🐳 Public Docker Hub Availability

The build engine images are also released publicly on Docker Hub for easy access. You can verify and download them directly:

  1. CLI Command: docker run swaplab/swaplab-desktop-ios-engine:v1.0.0
  2. Via Docker Desktop App: You can easily find these images using the Docker Desktop GUI:
    • Open the Docker Desktop app.
    • In the search bar, type swaplab.
    • You will see swaplab/swaplab-desktop-android-engine:v1.0.0 and swaplab/swaplab-desktop-ios-engine:v1.0.0.
    • Simply click the Pull button to download them manually if desired.

🚀 Why SwapLab Desktop?

Preparing an iOS project on non-Mac machines usually involves a nightmare of setting up Ruby environments, managing conflicting CocoaPods versions, and dealing with NPM dependency hell. SwapLab eliminates all of that.

SwapLab Desktop is a lightweight (~10MB) GUI controller that triggers this Docker Engine to sanitize and prepare your iOS project in seconds.

✨ Key Features

  • 🚫 NO CLI / NO Config: Forget pod install errors, Ruby version mismatches, or gem conflicts. It just works out of the box.
  • 🔒 100% Privacy & Control:
    • No Sign-In Required: We don't ask for your email or personal data.
    • No Data Collection: Your source code NEVER leaves your machine.
    • Local Execution: Everything runs locally on your localhost.
  • ⚡ Blazing Fast: Leveraging aggressive caching strategies (NPM & CocoaPods), subsequent preparations take seconds.
  • 🌐 Offline Capable: Once the engine image is downloaded, you can prepare apps without an internet connection.
  • 🛡️ Isolated Environment: Dependencies run inside ephemeral Docker containers. Your host OS remains clean (no need to install Ruby globally).

🎨 Build Anything, From Anywhere

Compatible with any framework that exports web assets (HTML/CSS/JS). If it runs in a browser, SwapLab can turn it into a native app.

🧪 Want to test it now? Clone our ready-to-use samples: https://github.com/swaplab-engine/desktop-simple-project

Game Engines Modern Web UI & Classic
🎮 Construct 3 ⚛️ React 📱 Ionic
🎮 Construct 2 🟢 Vue / Vuetify 🎨 Framework7
🅰️ Angular Alpine.js
Next.js 📦 Vanilla JS
🟠 Svelte / Preact 💎 Stencil
🟦 SolidJS 🅱️ Bootstrap
🚀 Astro / Remix 🐦 Flutter (Web)

🛠️ Workflow Architecture

Since Xcode (required for final .ipa compilation) only runs on macOS, SwapLab handles the "Preparation Phase" (Dependency Resolution & Workspace Generation) on ANY OS (Linux/Windows/Mac), then hands off a ready-to-compile project.

graph TD
    A[User's Web Project] -->|Mount Volume| B{SwapLab Desktop}
    B -->|Trigger Process| C{Docker Desktop}
    C -->|Spin Up Container| D[Desktop iOS Core Image]
    
    subgraph "Inside Container (Linux Environment)"
        D -->|1. npm install| E[Install Web Deps]
        D -->|2. npx cap sync ios| F[Generate Native Project]
        D -->|3. pod install| G[Generate Workspace]
    end
    
    G -->|Result| H[Ready-to-Build iOS Folder]
    H -->|User Action| I[Open in Xcode on Mac]
    
    style D fill:#000000,stroke:#fff,stroke-width:2px,color:white
Loading
  1. Inheritance: The engine inherits this transparent public core.
  2. Automation: Our internal logic orchestrates the tools installed in this core.
  3. Result: A fully generated ios/ folder, ready for Xcode.

📦 What's Inside This Public Core?

This image is optimized for iOS Dependency Resolution. It allows you to audit the toolchain versions we use.

Component Version Description
OS Ubuntu 22.04 LTS Stable Linux Foundation
Node.js v20 (LTS) JavaScript Runtime
Ruby Latest Stable Required for CocoaPods
CocoaPods Latest Stable iOS Dependency Manager
xml2js / plist Latest Cordova Plugin Hook Dependencies
Capacitor CLI v7.1.0 Native Runtime Bridge
Cordova CLI Latest Legacy Support
Security Trivy Embedded vulnerability scanner

Note: This image does NOT contain Xcode or Android SDKs. It focuses purely on preparing the project structure.


📥 Getting Started

1. Install Docker Desktop (Required)

SwapLab requires the Docker Engine to function.

💡 Pro Tip: You do NOT need to sign in to Docker Desktop. You can simply skip the login step. Just ensure the Docker Engine status is "Running".

2. Download SwapLab Desktop

Get the lightweight controller for your OS.

3. Start Building

Open SwapLab Desktop, select Target: iOS, and hit Start Process.


🔍 Transparency Verification

You can pull this image to verify that the environment contains standard, safe tools:

# Pull the public base image
docker pull ghcr.io/swaplab-engine/desktop-ios-core:latest

# Audit the tools
docker run -it --rm ghcr.io/swaplab-engine/desktop-ios-core:latest bash

# Example checks:
node -v
pod --version
# Note: This container only holds the tools. It does not contain the automation logic.

☁️ Cloud vs. Desktop

Feature SwapLab Cloud SwapLab Desktop (This)
Environment Our Mac Servers Your Local Docker
Logic Managed Server-Side Secure Container
Setup Zero Minimal (Docker)
Privacy Secure Upload & Delete 100% Local / Offline

SwapLabBuild Native Apps. Simply.