How cevo1466/open-ios-studio works
Open iOS Studio is a Linux desktop IDE for building and installing iOS apps without a Mac. The main workflow is to open and edit a project, check prerequisites and policies, then run xtool builds or device operations; optional AI can propose changes for review. The UI reaches native Rust capabilities through Tauri IPC. The README documents terminal, device, update, and project-skill features too. Some subsystem wiring is unsampled, so those relationships are omitted or marked unverified rather than inferred.
Main entry points: App.tsx IDE Interface · ipc.ts Tauri IPC · usePreflight.ts Preflight Controller · useAi.ts AI Chat
Components 24
Workspace IDE
- IDE Interface
src/App.tsx - Editor State
src/state/store.ts
Build and Checks
- Build Controls
src/app/useXtool.ts - xtool Adapter
src-tauri/src/xtool.rs - Device Views
src/xtool/deviceView.ts - Preflight Controller
src/app/usePreflight.ts - Preflight Checks
src/preflight/run.ts - Policy Analysis
src/policy/index.ts
AI Assistance
- AI Chat
src/ai/useAi.ts - AI Context and Changes
src/ai/engine.ts - Conversation Storage
src/ai/storage.ts
Native Services
- Project Files
src-tauri/src/fs_engine.rs - Embedded Terminal
src-tauri/src/pty.rs - Process Runner
src-tauri/src/runner.rs - AI Providers
src-tauri/src/ai/http.rs - AI CLI Sessions
src-tauri/src/cli_ai.rs - Tauri IPC
src/ipc.ts - Native Commands
src-tauri/src/lib.rs - LSP Relay
src-tauri/src/lsp.rs - App Updates
src-tauri/src/update.rs - Agent Skills
src-tauri/src/skills.rs
Swift Language Tools
- Swift LSP Controller
src/app/useSwiftLsp.ts - Language Client
src/lsp/client.ts
Other components
- Developer
Connections 25
- Developer → IDE Interface: uses
README.md - IDE Interface → Build Controls: offers build controls
README.md - Build Controls → Tauri IPC: invokes operations
src/app/useXtool.ts - Tauri IPC → Native Commands: dispatches commands
- Native Commands → xtool Adapter: registers adapter
src-tauri/src/lib.rs - xtool Adapter → Process Runner: runs processes
- IDE Interface → Device Views: shows device status
README.md - Developer → Preflight Controller: starts checks
README.md - Preflight Controller → Preflight Checks: runs checks
src/app/usePreflight.ts - Preflight Controller → Tauri IPC: scans workspace
src/app/usePreflight.ts - Preflight Controller → Policy Analysis: requests policy analysis
src/app/usePreflight.ts - IDE Interface → AI Chat: offers AI chat
README.md - AI Chat → AI Context and Changes: prepares changes
src/ai/useAi.ts - AI Context and Changes → Policy Analysis: checks proposed changes
src/ai/engine.ts - AI Chat → Conversation Storage: loads and saves conversations
src/ai/useAi.ts - AI Chat → Tauri IPC: requests provider operations
src/ai/useAi.ts - Tauri IPC → AI Providers: streams provider requests
- Tauri IPC → AI CLI Sessions: streams CLI requests
- IDE Interface → Swift LSP Controller: enables Swift services
src/App.tsx - Swift LSP Controller → Language Client: starts language client
src/app/useSwiftLsp.ts - Language Client → LSP Relay: uses native relay
- Developer → Embedded Terminal: opens terminal
README.md - Developer → App Updates: checks for updates
README.md - Developer → Agent Skills: opens coding agent
README.md - IDE Interface → Project Files: browses project files