V-Dock is a lightning-fast, native macOS Menu Bar utility designed to streamline the workflow of iOS and Android developers. Manage, boot, and terminate your iOS Simulators and Android Emulators instantly without ever opening Xcode or Android Studio.
V-Dock lives quietly in your macOS Menu Bar. Click the V-Dock icon to reveal all your iOS Simulators and Android Emulators.
- One-Click Boot & Shutdown: Click the power icon next to any device to boot or terminate it instantly.
- Pin Favorite Devices: Right-click a device and select "Pin" so your daily drivers always stay at the very top.
- Overflow Menu (β―): Access file push, screenshot, and screen recording from a single compact menu on each device row.
Push media, documents, and even install apps seamlessly to both iOS Simulators and Android Emulators using an intuitive Drag & Drop interface or the built-in file picker.
- Bulk Upload & Install: Select or drag multiple files and apps at once. V-Dock processes them concurrently.
- Auto App Installation: Drop an
.apk(Android) or.app(iOS Simulator build) and V-Dock will attempt to install it on the device. >β οΈ Note: This feature is experimental and may not work reliably in all cases. - Smart Routing: Media (.png, .jpg, .mp4) routes to Photos/Gallery. Documents (.pdf, .txt) go to the Files app. Unsupported formats divert intelligently.
- How to use: Drag & Drop files onto any running device card, or click the overflow menu (β―) β Push File.
Right-click any device to unlock a suite of powerful developer tools:
Stream device logs into a native macOS window without opening Android Studio or Xcode.
- How to use: Right-click an active device β Show Logcat.
- Features: Real-time streaming, syntax highlighting (Errors/Warnings), auto-scrolling, and live search filtering.
Capture screenshots or record the screenβsaved instantly to your Desktop.
- How to use: Click the overflow menu (β―) on any active device β Take Screenshot or Start Recording.
- Result: Automatically saved to your Mac's Desktop with a notification.
Test your app's UI in dark and light themes effortlessly.
- How to use: Right-click an active device β Appearance β Dark Mode or Light Mode.
- Result: Instantly forces the OS-level theme change.
Start fresh without digging through deeply nested settings.
- How to use: Right-click any device β Erase All Content & Settings (iOS) or Wipe Data (Android) / Cold Boot.
- Behavior: iOS Simulator shuts down, erases, then reboots automatically. Android Emulator restarts with a clean user data image.
Pair physical Android 11+ devices over Wi-Fiβno terminal required.
- How to use: Click the Pair Wireless button at the bottom of the V-Dock Menu Bar.
- Features: Pair via QR code or manual pairing code. Auto-discovers services on the local network via mDNS.
V-Dock sends macOS native notifications for key events:
- Device boot complete
- Screenshot/recording saved
- File transfer or app install complete
- Wireless pairing success or failure
Notifications appear as banners and respect macOS Focus modes.
- Stealth Hybrid Mode: Runs as a Menu Bar accessory (
.accessory). When opening the Dashboard, promotes to a regular app (.regular) with Dock icon and keyboard shortcuts. - Dynamic Activation Policy: Automatically reverts to
.accessorywhen all windows are closed. - Native Shortcuts:
Cmd + Q,Cmd + W,Cmd + ,,Cmd + Rwork reliably via low-levelNSEventmonitors. - Swift Concurrency: Uses
async/awaitandAsyncStreamfor non-blocking shell execution.
Built using Clean Architecture principles:
SwiftUI Views with custom NSWindow/NSHostingView for full lifecycle control.
Key: MenuBarView.swift, DashboardView.swift, SettingsView.swift
Business logic and state management. AppState (@Observable) is the single source of truth.
Key: AppState.swift, Device.swift
Shell command execution (simctl, emulator, adb) via ShellExecutor.
Key: ShellExecutor.swift
- macOS 14.0+
- Xcode 15.0+
- Android SDK (optional, for Android Emulator support)
- Clone the repository:
git clone https://github.com/yourusername/V-Dock.git
- Open
V-Dock.xcodeprojin Xcode. - Build and Run (
Cmd + R).
For Android Emulator support, open V-Dock Settings (Cmd + ,) and set your Android SDK path (typically /Users/YOUR_USERNAME/Library/Android/sdk).
Contributions, issues, and feature requests are welcome!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes
- Push to the Branch
- Open a Pull Request
Built with β€οΈ for the Community





