# 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
```bash
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
```bash
# 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):**
```bash
# 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):**
```bash
# 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)
```bash
# 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
```bash
# 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
```bash
# 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
```bash
# 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
```bash
# 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
```bash
# Ultra quality (best for local network)
ios-bridge stream --quality ultra
# Low quality (best for slow connections)
ios-bridge stream --quality low
```
### Server Options
```bash
# 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"**
```bash
# Check if sessions exist
ios-bridge list
# Create a new session
ios-bridge create "iPhone 15 Pro" "18.2" --wait
```
**Connection errors**
```bash
# 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:
- [Desktop App Development Guide](ios_bridge_cli/electron_app/DEVELOPMENT.md)
- [CLI Development Setup](ios_bridge_cli/electron_app/DEV-COMMANDS.md)
### Quick Development Setup
```bash
# 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`
Raw data
{
"_id": null,
"home_page": "https://github.com/AutoFlowLabs/ios-bridge-cli",
"name": "ios-bridge-cli",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "ios, simulator, bridge, streaming, electron, desktop, mobile, testing",
"author": "iOS Bridge Team",
"author_email": "iOS Bridge Team <kukreja.him@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/3d/9b/ee9158bccc394ecf4edfedfa8a273095a3656ecca50899ddb59b2b83b101/ios_bridge_cli-1.0.7.tar.gz",
"platform": null,
"description": "# iOS Bridge CLI\n\n**Stream and control iOS simulators like a desktop app** - The macOS equivalent of `scrcpy` for iOS development.\n\niOS 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.\n\n## What iOS Bridge CLI Does\n\n\ud83d\udda5\ufe0f **Desktop Streaming** - View iOS simulators in a native desktop window \n\ud83c\udfae **Touch & Keyboard Control** - Click, tap, type, and gesture naturally \n\ud83c\udf10 **Cross-Platform Client** - Stream from Mac to Windows, Linux, or other Macs \n\ud83d\udcf1 **Real Device Experience** - Full touch controls, home button, screenshots \n\ud83d\ude80 **Zero Configuration** - Works out of the box with automatic server management \n\u26a1 **High Performance** - WebRTC streaming with ultra-low latency\n\n## Installation\n\n```bash\npip install ios-bridge-cli\n```\n\n**Requirements**: macOS (for server), Python 3.8+, Xcode (for iOS simulators)\n\n## Quick Start\n\n### 1. Create and Stream an iOS Session\n\n```bash\n# Create an iPhone simulator\nios-bridge create \"iPhone 15 Pro\" \"18.2\" --wait\n\n# Stream it to desktop\nios-bridge stream\n```\n\nThat's it! A desktop window opens with your iOS simulator ready for interaction.\n\n### 2. Cross-Platform Setup (Mac Server \u2192 Windows/Linux Client)\n\n**On Mac (Server):**\n```bash\n# Start the server for remote access\nios-bridge start-server --host 0.0.0.0\n\n# Create and get session ID\nios-bridge create \"iPhone 15 Pro\" \"18.2\" --wait\nios-bridge list # Copy the session ID\n```\n\n**On Windows/Linux (Client with Full Features):**\n```bash\n# Connect to your Mac server\nios-bridge connect http://YOUR-MAC-IP:8000 --save\n\n# Full session management capabilities\nios-bridge create \"iPhone 15 Pro\" \"18.2\" --wait # Create sessions\nios-bridge list # List all sessions\nios-bridge stream # Stream (auto-detects session)\nios-bridge terminate <session-id> # Terminate sessions\nios-bridge info <session-id> # Get session details\n```\n\n> **\u2728 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.\n\n### 3. Web Interface (Browser Streaming)\n\n```bash\n# Stream in browser instead of desktop app\nios-bridge stream <session-id> --web-only\n\n# Then open: http://localhost:8000/web/<session-id>\n```\n\n## Core Commands\n\n### Session Management\n```bash\n# List available device types\nios-bridge devices\n\n# Create new simulator session\nios-bridge create \"iPhone 14 Pro\" \"16.0\" --wait\n\n# List active sessions\nios-bridge list\n\n# Get session details\nios-bridge info <session-id>\n\n# Terminate session\nios-bridge terminate <session-id>\n```\n\n### Streaming & Control\n```bash\n# Stream session (auto-detects if only one session)\nios-bridge stream\n\n# Stream specific session\nios-bridge stream <session-id>\n\n# Stream with quality settings\nios-bridge stream <session-id> --quality ultra --fullscreen\n\n# Take screenshot\nios-bridge screenshot --output screenshot.png\n```\n\n### Server Management\n```bash\n# Start server (macOS only)\nios-bridge start-server\n\n# Start server in background\nios-bridge start-server --background --port 9000\n\n# Check server status\nios-bridge server-status\n\n# Stop server\nios-bridge kill-server\n```\n\n### Remote Connection\n```bash\n# Connect to remote server and save\nios-bridge connect https://ios-bridge.company.com --save\n\n# Test connection\nios-bridge server-status\n\n# Use all commands with remote server\nios-bridge devices\nios-bridge create \"iPhone 14\" \"18.2\"\n```\n\n## Desktop Controls\n\n- **Mouse**: Click and drag for touch input\n- **Keyboard**: Type directly into the simulator\n- **F1**: Home button\n- **F2**: Screenshot \n- **F3**: Device info\n- **F4**: Toggle keyboard\n- **F11**: Toggle fullscreen\n- **Ctrl+C**: Close and exit\n\n## Platform Support\n\n| Platform | Local Server | Remote Client | Desktop Streaming |\n|----------|:------------:|:-------------:|:-----------------:|\n| **macOS** | \u2705 Full | \u2705 Full | \u2705 Native App |\n| **Windows** | \u274c | \u2705 Full | \u2705 Native App |\n| **Linux** | \u274c | \u2705 Full | \u2705 Native App |\n\n*Local server requires macOS + Xcode for iOS simulator access*\n\n## Advanced Usage\n\n### Quality Settings\n```bash\n# Ultra quality (best for local network)\nios-bridge stream --quality ultra\n\n# Low quality (best for slow connections) \nios-bridge stream --quality low\n```\n\n### Server Options\n```bash\n# Custom server host/port\nios-bridge start-server --host 192.168.1.100 --port 9000\n\n# Background server with custom settings\nios-bridge start-server --background --host 0.0.0.0 --port 8080\n```\n\n### Web Interface Features\n- \ud83c\udf10 No desktop app installation required\n- \ud83d\udcf1 Mobile-friendly interface\n- \ud83d\udd17 Shareable URLs for team collaboration\n- \ud83d\ude80 WebRTC streaming option\n\n## How It Works\n\n```\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 HTTP/WebSocket \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \n\u2502 iOS Bridge \u2502 \u2190\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2192 \u2502 Desktop Client \u2502 \n\u2502 Server \u2502 \u2502 (Windows/ \u2502 \n\u2502 \u2502 \u2502 Linux/Mac) \u2502 \n\u2502 \u2022 iOS Simulator \u2502 \u2502 \u2502 \n\u2502 \u2022 Session Mgmt \u2502 \u2502 \u2022 Video Stream \u2502 \n\u2502 \u2022 WebRTC/WS API \u2502 \u2502 \u2022 Touch Input \u2502 \n\u2502 (macOS Only) \u2502 \u2502 \u2022 Native UI \u2502 \n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \n```\n\nThe server runs on macOS (where iOS simulators are available) and streams to desktop clients on any platform.\n\n## Common Workflows\n\n### iOS Development Team\n1. **QA Team**: Run server on Mac mini, stream to Windows/Linux machines\n2. **Remote Work**: Develop on Mac, test from anywhere with web interface \n3. **Team Reviews**: Share session URLs for collaborative testing\n\n### Individual Developer\n1. **Multi-Monitor Setup**: Stream simulator to second monitor\n2. **Screen Recording**: Use desktop apps like OBS to record iOS interactions\n3. **Cross-Platform Testing**: Test iOS app while working on Windows/Linux\n\n## Troubleshooting\n\n**\"No sessions available\"**\n```bash\n# Check if sessions exist\nios-bridge list\n\n# Create a new session\nios-bridge create \"iPhone 15 Pro\" \"18.2\" --wait\n```\n\n**Connection errors**\n```bash\n# Check server status\nios-bridge server-status\n\n# Restart server if needed\nios-bridge kill-server\nios-bridge start-server\n```\n\n**Desktop app won't start**\n- Ensure server is running first: `ios-bridge start-server`\n- Try web interface: `ios-bridge stream --web-only`\n- Check for port conflicts: `ios-bridge start-server --port 9000`\n\n## Development\n\nFor development documentation, see:\n- [Desktop App Development Guide](ios_bridge_cli/electron_app/DEVELOPMENT.md)\n- [CLI Development Setup](ios_bridge_cli/electron_app/DEV-COMMANDS.md)\n\n### Quick Development Setup\n```bash\n# CLI development\ngit clone <repo-url>\ncd ios-bridge-cli\npip install -e .\n\n# Desktop app development \ncd ios_bridge_cli/electron_app\nnpm install\nnpm run dev\n```\n\n## License\n\nMIT License - see LICENSE file for details\n\n---\n\n**Getting Started**: `pip install ios-bridge-cli && ios-bridge start-server && ios-bridge create \"iPhone 15 Pro\" \"18.2\" --wait && ios-bridge stream`\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Desktop streaming client for iOS Bridge simulator sessions with Electron app integration",
"version": "1.0.7",
"project_urls": {
"Bug Tracker": "https://github.com/AutoFlowLabs/ios-bridge/issues",
"Homepage": "https://github.com/AutoFlowLabs/ios-bridge"
},
"split_keywords": [
"ios",
" simulator",
" bridge",
" streaming",
" electron",
" desktop",
" mobile",
" testing"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a7e50e59187aa2a394a122b3360d5aedb354e19361314e9e3cffe54cedb4ac19",
"md5": "293474d206eda123966e8955ad36c73a",
"sha256": "5880a51a8da8234db20fb30bb26d13d3082debc796b8dd82b7d6e4df3680cb31"
},
"downloads": -1,
"filename": "ios_bridge_cli-1.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "293474d206eda123966e8955ad36c73a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 623567,
"upload_time": "2025-08-15T20:53:57",
"upload_time_iso_8601": "2025-08-15T20:53:57.828867Z",
"url": "https://files.pythonhosted.org/packages/a7/e5/0e59187aa2a394a122b3360d5aedb354e19361314e9e3cffe54cedb4ac19/ios_bridge_cli-1.0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3d9bee9158bccc394ecf4edfedfa8a273095a3656ecca50899ddb59b2b83b101",
"md5": "a044248e6024c1e290860492ee160e6c",
"sha256": "d0d32ee67b93d8fc2b7db9d051572cc82c7ca61a23e1ea35d938d71fa846053b"
},
"downloads": -1,
"filename": "ios_bridge_cli-1.0.7.tar.gz",
"has_sig": false,
"md5_digest": "a044248e6024c1e290860492ee160e6c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 637423,
"upload_time": "2025-08-15T20:53:59",
"upload_time_iso_8601": "2025-08-15T20:53:59.645552Z",
"url": "https://files.pythonhosted.org/packages/3d/9b/ee9158bccc394ecf4edfedfa8a273095a3656ecca50899ddb59b2b83b101/ios_bridge_cli-1.0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-15 20:53:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "AutoFlowLabs",
"github_project": "ios-bridge-cli",
"github_not_found": true,
"lcname": "ios-bridge-cli"
}