https://github.com/sangwookyoo/playhub
Unified simulator and emulator manager for macOS — control iOS Simulators and Android Emulators in one place, with advanced tooling and localization support.
https://github.com/sangwookyoo/playhub
android-emulator developer-tools ios-simulator localization macos mobile-development swift swiftui xcode
Last synced: 4 months ago
JSON representation
Unified simulator and emulator manager for macOS — control iOS Simulators and Android Emulators in one place, with advanced tooling and localization support.
- Host: GitHub
- URL: https://github.com/sangwookyoo/playhub
- Owner: sangwookyoo
- License: mit
- Created: 2025-11-06T14:20:22.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-11-06T14:52:25.000Z (5 months ago)
- Last Synced: 2025-11-06T16:27:31.812Z (5 months ago)
- Topics: android-emulator, developer-tools, ios-simulator, localization, macos, mobile-development, swift, swiftui, xcode
- Language: Swift
- Homepage: https://github.com/sangwookyoo/PlayHub
- Size: 260 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PlayHub
PlayHub is a macOS desktop tool that unifies iOS Simulators and Android Emulators into a single management interface. Built with SwiftUI, it provides device control, diagnostics, and localization in one place, accelerating mobile team development.
**한국어 버전:** [`README_ko.md`](README_ko.md)

## ✨ Features
* **Unified Workspace:** Browse, search, and filter iOS and Android virtual devices on a single screen.
* **Onboarding Checklist:** Verify required developer tools step-by-step to help new team members set up quickly.
* **One-Click Actions:** Boot, shut down, restart, delete, and check device status with a single click.
* **Advanced Control:** Simulate battery level, charging state, and GPS coordinates to reproduce QA scenarios.
* **App Installation:** Upload and install `.app` or `.apk` packages directly to selected devices.
* **Multi-Language Support:** Includes English, Korean, Japanese, Simplified Chinese, Traditional Chinese, German, French, and Spanish localizations by default.
## 🛠 System Requirements
* macOS 13 Ventura or later (Apple Silicon recommended)
* Xcode Command Line Tools (`xcode-select --install`)
* Android Studio and AVD Manager
* `adb` and Android Emulator binaries must be available in `PATH` or configured via **Settings ▸ Paths**.
## 🚀 Getting Started
1. **Clone the Repository**
```bash
git clone https://github.com/sangwookyoo/PlayHub.git
cd PlayHub
```
2. **Open in Xcode**
* Open `PlayHub.xcodeproj` with Xcode 15 or later.
3. **Build and Run**
* Select the `PlayHubApp` target.
* Build with `⌘B` and run with `⌘R`.
4. **Complete Initial Setup**
* Follow the welcome checklist to verify required tool paths.
## 📁 Project Structure
```
PlayHub/
├── Core/ # Style guide, dependency container, shared utilities
├── Resources/ # Localization bundles and assets
├── Services/ # iOS/Android tooling integration services
├── ViewModels/ # ObservableObject-based state management
└── Views/ # SwiftUI views and UI components
```
## 🤪 Testing Guide
* Automated testing is in progress — community contributions are welcome.
* For manual verification, ensure:
* Both iOS and Android device lists load and refresh correctly.
* `.app` and `.apk` installations complete without errors.
* Diagnostic results update immediately when tool paths change.
## 🤝 Contributing
1. Fork the repository and create a new branch (`git checkout -b feature/awesome`).
2. Use clear commit messages to describe your changes.
3. After modifying localization files, validate with:
```bash
plutil -lint Resources/Localizable/**/*.strings
```
4. Submit a Pull Request including relevant screenshots and test results.
## 📄 License
PlayHub is distributed under the MIT License. See the [LICENSE](LICENSE) file for details.
## 🌐 Localization Status
| Language | Status |
| ------------------- | ------ |
| English | ✅ |
| Korean | ✅ |
| Japanese | ✅ |
| Simplified Chinese | ✅ |
| Traditional Chinese | ✅ |
| German | ✅ |
| French | ✅ |
| Spanish | ✅ |