Skip to main content

Desktop streaming client for iOS Bridge simulator sessions with Electron app integration

Project description

iOS Bridge CLI

Stream and control iOS simulators like a desktop app - The macOS equivalent of scrcpy for iOS development.

iOS Bridge CLI lets you stream iOS simulator sessions to any device with a beautiful desktop interface. Perfect for cross-platform development teams, remote work, and testing iOS apps from Windows/Linux machines.

What iOS Bridge CLI Does

๐Ÿ–ฅ๏ธ Desktop Streaming - View iOS simulators in a native desktop window
๐ŸŽฎ Touch & Keyboard Control - Click, tap, type, and gesture naturally
๐ŸŒ Cross-Platform Client - Stream from Mac to Windows, Linux, or other Macs
๐Ÿ“ฑ Real Device Experience - Full touch controls, home button, screenshots
๐Ÿš€ Zero Configuration - Works out of the box with automatic server management
โšก High Performance - WebRTC streaming with ultra-low latency

Installation

pip install ios-bridge-cli

Requirements: macOS (for server), Python 3.8+, Xcode (for iOS simulators)

Quick Start

1. Create and Stream an iOS Session

# Create an iPhone simulator
ios-bridge create "iPhone 15 Pro" "18.2" --wait

# Stream it to desktop
ios-bridge stream

That's it! A desktop window opens with your iOS simulator ready for interaction.

2. Cross-Platform Setup (Mac Server โ†’ Windows/Linux Client)

On Mac (Server):

# Start the server for remote access
ios-bridge start-server --host 0.0.0.0

# Create and get session ID
ios-bridge create "iPhone 15 Pro" "18.2" --wait
ios-bridge list  # Copy the session ID

On Windows/Linux (Client with Full Features):

# Connect to your Mac server
ios-bridge connect http://YOUR-MAC-IP:8000 --save

# Full session management capabilities
ios-bridge create "iPhone 15 Pro" "18.2" --wait  # Create sessions
ios-bridge list                                   # List all sessions
ios-bridge stream                                 # Stream (auto-detects session)
ios-bridge terminate <session-id>                # Terminate sessions
ios-bridge info <session-id>                     # Get session details

โœจ Important: Windows and Linux clients have complete feature parity with macOS when connected to a Mac server. You can create, manage, stream, and control iOS sessions exactly like on Mac - the only requirement is the initial server connection.

3. Web Interface (Browser Streaming)

# Stream in browser instead of desktop app
ios-bridge stream <session-id> --web-only

# Then open: http://localhost:8000/web/<session-id>

Core Commands

Session Management

# List available device types
ios-bridge devices

# Create new simulator session
ios-bridge create "iPhone 14 Pro" "16.0" --wait

# List active sessions
ios-bridge list

# Get session details
ios-bridge info <session-id>

# Terminate session
ios-bridge terminate <session-id>

Streaming & Control

# Stream session (auto-detects if only one session)
ios-bridge stream

# Stream specific session
ios-bridge stream <session-id>

# Stream with quality settings
ios-bridge stream <session-id> --quality ultra --fullscreen

# Take screenshot
ios-bridge screenshot --output screenshot.png

Server Management

# Start server (macOS only)
ios-bridge start-server

# Start server in background
ios-bridge start-server --background --port 9000

# Check server status
ios-bridge server-status

# Stop server
ios-bridge kill-server

Remote Connection

# Connect to remote server and save
ios-bridge connect https://ios-bridge.company.com --save

# Test connection
ios-bridge server-status

# Use all commands with remote server
ios-bridge devices
ios-bridge create "iPhone 14" "18.2"

Desktop Controls

  • Mouse: Click and drag for touch input
  • Keyboard: Type directly into the simulator
  • F1: Home button
  • F2: Screenshot
  • F3: Device info
  • F4: Toggle keyboard
  • F11: Toggle fullscreen
  • Ctrl+C: Close and exit

Platform Support

Platform Local Server Remote Client Desktop Streaming
macOS โœ… Full โœ… Full โœ… Native App
Windows โŒ โœ… Full โœ… Native App
Linux โŒ โœ… Full โœ… Native App

Local server requires macOS + Xcode for iOS simulator access

Advanced Usage

Quality Settings

# Ultra quality (best for local network)
ios-bridge stream --quality ultra

# Low quality (best for slow connections)  
ios-bridge stream --quality low

Server Options

# Custom server host/port
ios-bridge start-server --host 192.168.1.100 --port 9000

# Background server with custom settings
ios-bridge start-server --background --host 0.0.0.0 --port 8080

Web Interface Features

  • ๐ŸŒ No desktop app installation required
  • ๐Ÿ“ฑ Mobile-friendly interface
  • ๐Ÿ”— Shareable URLs for team collaboration
  • ๐Ÿš€ WebRTC streaming option

How It Works

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    HTTP/WebSocket    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    
โ”‚   iOS Bridge    โ”‚ โ†โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ†’ โ”‚  Desktop Client โ”‚    
โ”‚     Server      โ”‚                      โ”‚   (Windows/     โ”‚    
โ”‚                 โ”‚                      โ”‚   Linux/Mac)    โ”‚    
โ”‚ โ€ข iOS Simulator โ”‚                      โ”‚                 โ”‚    
โ”‚ โ€ข Session Mgmt  โ”‚                      โ”‚ โ€ข Video Stream  โ”‚    
โ”‚ โ€ข WebRTC/WS API โ”‚                      โ”‚ โ€ข Touch Input   โ”‚    
โ”‚   (macOS Only)  โ”‚                      โ”‚ โ€ข Native UI     โ”‚    
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    

The server runs on macOS (where iOS simulators are available) and streams to desktop clients on any platform.

Common Workflows

iOS Development Team

  1. QA Team: Run server on Mac mini, stream to Windows/Linux machines
  2. Remote Work: Develop on Mac, test from anywhere with web interface
  3. Team Reviews: Share session URLs for collaborative testing

Individual Developer

  1. Multi-Monitor Setup: Stream simulator to second monitor
  2. Screen Recording: Use desktop apps like OBS to record iOS interactions
  3. Cross-Platform Testing: Test iOS app while working on Windows/Linux

Troubleshooting

"No sessions available"

# Check if sessions exist
ios-bridge list

# Create a new session
ios-bridge create "iPhone 15 Pro" "18.2" --wait

Connection errors

# Check server status
ios-bridge server-status

# Restart server if needed
ios-bridge kill-server
ios-bridge start-server

Desktop app won't start

  • Ensure server is running first: ios-bridge start-server
  • Try web interface: ios-bridge stream --web-only
  • Check for port conflicts: ios-bridge start-server --port 9000

Development

For development documentation, see:

Quick Development Setup

# CLI development
git clone <repo-url>
cd ios-bridge-cli
pip install -e .

# Desktop app development  
cd ios_bridge_cli/electron_app
npm install
npm run dev

License

MIT License - see LICENSE file for details


Getting Started: pip install ios-bridge-cli && ios-bridge start-server && ios-bridge create "iPhone 15 Pro" "18.2" --wait && ios-bridge stream

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ios_bridge_cli-1.0.6.tar.gz (637.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ios_bridge_cli-1.0.6-py3-none-any.whl (623.4 kB view details)

Uploaded Python 3

File details

Details for the file ios_bridge_cli-1.0.6.tar.gz.

File metadata

  • Download URL: ios_bridge_cli-1.0.6.tar.gz
  • Upload date:
  • Size: 637.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ios_bridge_cli-1.0.6.tar.gz
Algorithm Hash digest
SHA256 1a977e7c04d550eed4e067cffc03e4ef3bcba200779161f7a5d07386e33f9d18
MD5 27d3676806de45cdb1924226e8ce9884
BLAKE2b-256 281007d0b623b9a5653b54e6b125c6e965a38667bd8ddcd60687ecf6826fd63b

See more details on using hashes here.

File details

Details for the file ios_bridge_cli-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: ios_bridge_cli-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 623.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ios_bridge_cli-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 71221c97e7f86269b5f980583ad1ebcdc88e8dbaacd766519810ba0737eabf1e
MD5 93827b3047c82d58d492bb0fb7f2ff27
BLAKE2b-256 d64788957268a76e7170a5a48e20d62c91a117a1413027dea4c9c3c6fc2efa6d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page