If you develop iOS apps, you spend hours every day in the Xcode Simulator. And every day, you run into the same friction:
- Need to check WebSocket messages? No built-in inspector for that.
- Need to check API responses? Set up Charles Proxy with SSL certificates.
- Need a screenshot with a device frame? Switch to another tool.
- Need to test a push notification? Open terminal, write JSON, use
simctl push. - Need to test on slow network? Can't do it on the Simulator natively.
- Need to verify accessibility? Toggle settings one by one in the Simulator's Settings app.
I built SimKit to solve all of these in one macOS app.
Download SimKit from the Mac App Store
What is SimKit?
SimKit is a macOS application that runs alongside the iOS Simulator and adds the professional tools Xcode doesn't provide. It's freemium (core features free, Pro tier for advanced tools), built with 100% Swift and SwiftUI, and has zero third-party dependencies.
GitHub: github.com/ealtaca/SimKitSDK-Binary
Features at a Glance
Screen Recording & Screenshots
Record the Simulator with device bezels and touch indicators visible in the output. Export to MP4 or GIF. Take screenshots with custom status bars and device frames — ready for App Store marketing or pull request documentation.
Network Debugging (Zero Config)
Add one line to your iOS app:
import SimKitSDK
SimKitSDK.shared.enable()
Now you get:
- WebSocket inspection — monitor WebSocket frames, messages, and connection lifecycle in real time
- Real-time HTTP traffic monitoring — see every request, response, headers, and body
- Network throttling — simulate WiFi, LTE, 4G, 3G, 2G/Edge, Custom speeds, or Offline mode
- Mock endpoints — return custom JSON for any URL pattern without a mock server
- Export — HAR format for Chrome DevTools or cURL for terminal replay
No proxy setup. No certificates. No Charles Proxy license ($50). It uses URLProtocol interception under the hood.
Push Notification Testing
A visual push notification tester replaces the simctl push terminal workflow:
- JSON editor with syntax highlighting
- Built-in templates (message, alert, badge, silent push, rich notification)
- Badge number control
- Payload history — reuse previous notifications
- Send to any running Simulator with one click
Deep Link Testing
Test URL schemes and Universal Links with a visual interface. Save link templates for frequently tested routes. No more typing xcrun simctl openurl booted ....
Location Simulation
- 8 preset city locations
- Custom GPS coordinate entry
- GPX route file playback — simulate movement along a path for navigation, fitness, or ride-sharing app testing
Accessibility Testing — 11 Settings in One Panel
Toggle any combination of:
- Dynamic Type (7 sizes: XS to XXXL)
- Dark/Light mode
- Reduce Motion
- Reduce Transparency
- Bold Text
- Button Shapes
- Grayscale
- Inverted Colors
- Increase Contrast
- On/Off Labels
- Differentiate Without Color
Test your app's accessibility support without digging through the Simulator's Settings app.
Developer Utilities
- UserDefaults editor — view and edit your app's UserDefaults without code changes
- App container browser — navigate your app's sandbox directories
- Permission manager — grant or revoke permissions (camera, photos, location, etc.)
- Biometric simulation — trigger Face ID / Touch ID match or failure events
Getting Started
Download SimKit from the Mac App Store or visit our website.
For network features, add the SimKit SDK to your iOS project via Swift Package Manager:
import SimKitSDK
@main
struct MyApp: App {
init() {
SimKitSDK.shared.enable()
}
var body: some Scene {
WindowGroup { ContentView() }
}
}
Feedback & Support
- Bug reports: GitHub Issues
- Feature requests: Open an issue with your idea
- Star the repo: If SimKit helps you, a star goes a long way
GitHub: github.com/ealtaca/SimKitSDK-Binary
What features would you want to see next? Let me know in the comments.
Top comments (0)