Connection Modes
Specchio supports two ways to connect to your iPhone: USB and WiFi. Each has different advantages.
Table of Contents
USB Connection
USB is the recommended connection method for most users.
Advantages
| Benefit | Description |
|---|---|
| 🚀 Lowest Latency | Direct USB connection for instant response |
| 🔒 Most Reliable | No network interference or drops |
| 🔋 Powers Device | Your iPhone charges while connected |
| 💰 Free Tier | Works with the free Specchio license |
| 🎯 Best Quality | Supports all display modes including USB Video |
How it Works
Specchio uses a USB tunnel to communicate with your iPhone:
- Your iPhone is detected via
libimobiledevice iproxycreates a local tunnel fromlocalhost:8100to your iPhone's port 8100- All communication goes through this USB tunnel
- No WiFi or network involved
Requirements
- Lightning or USB-C cable (data-capable, not charge-only)
- iPhone unlocked and trusted
- Developer Mode enabled (see Device Setup)
When to Use USB
- ✅ Best performance and quality
- ✅ Stable, uninterrupted use
- ✅ Gaming or real-time interaction
- ✅ Free tier users
WiFi Connection
WiFi connection gives you wireless freedom at the cost of some performance.
Advantages
| Benefit | Description |
|---|---|
| 📶 Wireless Freedom | Move around without cables |
| 🔌 No Cable Needed | Connect from anywhere in range |
| 💻 Multiple Devices | Connect multiple Macs to one iPhone |
How it Works
WiFi connection uses your local network:
- Your iPhone and Mac must be on the same WiFi network
- WiFi debugging must be enabled (via Xcode)
- Specchio connects directly to your iPhone's IP address on port 8100
- No USB tunneling involved
Requirements
- Both devices on same WiFi network
- WiFi debugging enabled in Xcode
- iPhone in Developer Mode
- Premium license required
Limitations
| Limitation | Impact |
|---|---|
| ⏱️ Higher Latency | 10-50ms delay depending on network |
| 📉 Lower FPS | Reduced frame rate compared to USB |
| 📶 Network Dependent | Affected by WiFi congestion and distance |
| 💎 Premium Only | Requires paid license |
| 🚫 USB Video Mode | Highest-quality display mode unavailable |
When to Use WiFi
- ✅ Need wireless freedom
- ✅ Casual use (not gaming or precision work)
- ✅ Have a strong, reliable WiFi network
- ✅ Premium subscriber
Comparison
| Feature | USB | WiFi |
|---|---|---|
| Latency | ~1-5ms | 10-50ms |
| Max FPS | 60 (USB Video) | 30 |
| Reliability | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Setup Complexity | Simple | Moderate |
| License Required | Free | Premium |
| Display Modes | All available | Screenshot, Lite only |
| Charges Device | ✅ Yes | ❌ No |
| Network Requirement | None | Same WiFi network |
Switching Between Modes
From USB to WiFi
- Ensure WiFi debugging is enabled (see Device Setup)
- Disconnect USB (or keep it connected — Specchio will use WiFi if available)
- In Specchio, click the connection mode indicator
- Select "WiFi" from the dropdown
- Your iPhone will appear with a WiFi icon
- Click to connect
From WiFi to USB
- Plug in your iPhone via USB
- In Specchio, the device will show as available via USB
- Click to connect
- USB is automatically prioritized when available
Auto-Connect Behavior
Specchio's Connect button automatically:
- Tries USB first (if device connected via USB)
- Falls back to WiFi (if USB unavailable and WiFi is set up)
- Shows connection status in the device list
Connection Status Indicators
| Icon | Status | Meaning |
|---|---|---|
| 🔌 | USB Connected | Connected via USB cable |
| 📶 | WiFi Connected | Connected via WiFi network |
| ⚠️ | Unstable | Connection has issues |
| ❌ | Disconnected | No active connection |
Best Practices
For Best Performance
- Use USB whenever possible
- Use a quality USB cable (some cheap cables are slow)
- Keep your iPhone unlocked while connected
- Close unnecessary apps on both devices
For WiFi Connection
- Use 5GHz WiFi if available (lower latency than 2.4GHz)
- Stay close to your router (<10 meters)
- Avoid congested networks (lots of devices)
- Consider a dedicated WiFi network for development
For Reliability
- Prefer USB for important work
- Have a backup cable handy
- Keep your iPhone charged (WiFi drains battery)
- Restart Specchio if connection becomes unstable
Troubleshooting Connection Issues
USB Connection Issues
Problem: Device not detected via USB.
Diagnostic commands:
bash
# Check if device is detected by system
xcrun devicectl list devices
# Check if iproxy can connect
iproxy -l 8100
# Manually try iproxy
iproxy 8100 8100Solutions:
- Try a different USB cable
- Try a different USB port
- Restart both devices
- Re-trust the computer on your iPhone
WiFi Connection Issues
Problem: Device not found via WiFi.
Diagnostic commands:
bash
# Check if device is visible on network
dns-sd -B _apple-mobdev2._tcp local.
# Try to ping device (find IP first)
xcrun devicectl list devices
ping <device-ip>Solutions:
- Ensure both devices on same network
- Re-enable WiFi debugging in Xcode
- Move closer to WiFi router
- Try a different WiFi network
For more help, see Troubleshooting.